Home > File > Copy file trong Java

Copy file trong Java

Java không cung cấp sẵn phương thức để thực hiện việc copy file, bạn phải tự tạo việc xử lý copy file. Để copy file,  trước tiên cần chuyển đổi file thành một luồng bytes với FileInputStream và ghi các bytes này sang một file khác với FileOutputStream. Việc này khá đơn giản, có lẽ vì vậy mà Java không xây dựng sẵn hàm copy file.

Ví dụ sau minh họa việc copy một file có tên “AFile.txt” sang một file khác có tên “BFile.txt” . Nếu file “BFile.txt” đã tồn tại thì nội dung của nó sẽ được thay thế, nếu chưa tồn tại thì nó sẽ được tạo ra với nối dung là của file “AFile.txt”.

package quyetdv.java.javaio.file;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
public class CopyFileExample {
    public static void main(String[] args) {
        InputStream is = null;
        OutputStream os = null;
        try {
           File aFile = new File("AFile.txt");
           File bFile = new File("BFile.txt");
           is = new FileInputStream(aFile);
           os = new FileOutputStream(bFile);
           byte[] buffer = new byte[1024];
           int length;
           // copy the file content in bytes
           while ((length = is.read(buffer)) > 0) {
               os.write(buffer, 0, length);
           }
           is.close();
           os.close();
           System.out.println("File is copied successfull!");
       } catch (Exception e) {
           e.printStackTrace();
       }
   }
}
Advertisements
Categories: File
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: