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.6هزار بازدید
+1 امتیاز
1 پاسخ 1.2هزار بازدید
+1 امتیاز
2 پاسخ 372 بازدید
+1 امتیاز
1 پاسخ 573 بازدید
+1 امتیاز
1 پاسخ 1.1هزار بازدید
0 امتیاز
0 پاسخ 962 بازدید
0 امتیاز
0 پاسخ 316 بازدید
0 امتیاز
0 پاسخ 3.9هزار بازدید
سوال شده 7 سال قبل در کامپیوتر و اینترنت توسط 123 (143 امتیاز)
...