Home > File > Ghi file trong Java

Ghi file trong Java

Trong Java, để ghi file có nhiều cách, phổ biến là sử dụng FileOutputStream và BufferedWriter

1. FileOutputStream : là một lớp luồng bytes dùng để xử lý dữ liệu nhị phân thô. Để ghi dữ liệu ra file, bạn cần phải chuyển đổi dữ liệu thành các bytes và lưu nó thành file.

Ví dụ 1:

package quyetdv.java.javaio.file;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
public class FileOutputStreamExample {
public static void main(String[] args) {
    FileOutputStream fop = null;
    File file;
    String content = "This is the text content";
 
    try {
        file = new File("test.txt");
        fop = new FileOutputStream(file);
        if (!file.exists()) {
           file.createNewFile();
        }
        byte[] contentInBytes = content.getBytes();
        fop.write(contentInBytes);
        fop.flush();
        fop.close();
 
        System.out.println("Done");
    } catch (IOException e) {
        e.printStackTrace();
    }finally
    {
        try {
            if (fop!=null) {
            fop.close();
        }
    } catch (IOException ex) {
        ex.printStackTrace();
    }
 }
 }
}

Ví dụ 2 : ( tương tự ví dụ 1, nhưng sử dụng try-with-resource trong JDK 7, code ngắn hơn )

package quyetdv.java.javaio.file;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
public class FileOutputStreamJava7Example {
    public static void main(String[] args) {
 
       File file = new File("test4.txt");
       String content = "This is the text content";
 
       try(FileOutputStream fop = new FileOutputStream(file)) {
          if (!file.exists()) {
              file.createNewFile();
          }
          byte[] contentInBytes = content.getBytes();
          fop.write(contentInBytes);
          fop.flush();
          fop.close();
 
           System.out.println("Done");
       } catch (IOException e) {
          e.printStackTrace();
       }
    }
}

2. BufferedWriter : là một lớp luồng ký tự dùng để xử lý dữ liệu ký tự. Không giống như luồng bytes ( chuyển đổi dữ liệu thành dạng bytes ), bạn có thể ghi ngay các dữ liệu chuỗi, mảng hay ký tự trực tiếp vào file.

Ví dụ :

package quyetdv.java.javaio.file;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
public class BufferedWriterExample {
    public static void main(String[] args) {
        try {
            String content = "Write to file using BufferedWriter";
            File file = new File("test.txt");
            if (!file.exists()) {
               file.createNewFile();
            }
            FileWriter fw = new FileWriter(file.getAbsoluteFile());
            BufferedWriter bw = new BufferedWriter(fw);
            bw.write(content);
            bw.close();
            System.out.println("Done");
        } 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: