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 پاسخ 309 بازدید
+1 امتیاز
1 پاسخ 471 بازدید
+1 امتیاز
1 پاسخ 849 بازدید
0 امتیاز
0 پاسخ 819 بازدید
0 امتیاز
0 پاسخ 263 بازدید
0 امتیاز
0 پاسخ 3.8هزار بازدید
سوال شده 7 سال قبل در کامپیوتر و اینترنت توسط 123 (143 امتیاز)
...