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.5هزار بازدید
+1 امتیاز
1 پاسخ 1.2هزار بازدید
+1 امتیاز
2 پاسخ 361 بازدید
+1 امتیاز
1 پاسخ 564 بازدید
+1 امتیاز
1 پاسخ 1.1هزار بازدید
0 امتیاز
0 پاسخ 951 بازدید
0 امتیاز
0 پاسخ 307 بازدید
0 امتیاز
0 پاسخ 3.9هزار بازدید
سوال شده 7 سال قبل در کامپیوتر و اینترنت توسط 123 (143 امتیاز)
...