0 امتیاز
قبل در برنامه نویسی توسط (1.1هزار امتیاز)

چگونه می توان در زبان برنامه نویسی جاوا یک فایل را از یک فولدر در یک فولدر دیگر کپی کرد؟

1 پاسخ

+1 امتیاز
قبل توسط (1.1هزار امتیاز)

روش های زیادی برای این کار در جاوا وجود دارد. یکی از آنها استفاده از کتابخانه Apache Commons IO است. اما اگر بخواهیم از API های موجود در JDK استفاده کنیم، روش های زیر امکانپذیر است:

1- استفاده از NIO:

    Path source = Paths.get("c:/temp/testoriginal.txt");
    Path destination = Paths.get("c:/temp/testcopied.txt");
 
    Files.copy(source, destination, StandardCopyOption.REPLACE_EXISTING);

2- استفاده از Channel ها:

    File fileToCopy = new File("c:/temp/testoriginal.txt");
    FileInputStream inputStream = new FileInputStream(fileToCopy);
    FileChannel inChannel = inputStream.getChannel();
 
    File newFile = new File("c:/temp/testcopied.txt");
    FileOutputStream outputStream = new FileOutputStream(newFile);
    FileChannel outChannel = outputStream.getChannel();
 
    inChannel.transferTo(0, fileToCopy.length(), outChannel);
 
    inputStream.close();
    outputStream.close();

3- استفاده از Stream ها:

    File fileToCopy = new File("c:/temp/testoriginal.txt");
    FileInputStream input = new FileInputStream(fileToCopy);
 
    File newFile = new File("c:/temp/testcopied.txt");
    FileOutputStream output = new FileOutputStream(newFile);
     
    byte[] buf = new byte[1024];
    int bytesRead;
     
    while ((bytesRead = input.read(buf)) > 0)
    {
        output.write(buf, 0, bytesRead);
    }
     
    input.close();
    output.close();

در بین روش های فوق، استفاده از Channel ها بالاترین performance را دارد.

سوالات مشابه

0 امتیاز
1 پاسخ 5.3هزار بازدید
+1 امتیاز
1 پاسخ 1.1هزار بازدید
+1 امتیاز
2 پاسخ 313 بازدید
+1 امتیاز
1 پاسخ 474 بازدید
+1 امتیاز
1 پاسخ 866 بازدید
0 امتیاز
0 پاسخ 823 بازدید
0 امتیاز
0 پاسخ 266 بازدید
0 امتیاز
0 پاسخ 3.8هزار بازدید
سوال شده 7 سال قبل در کامپیوتر و اینترنت توسط 123 (143 امتیاز)
...