Làm việc với File
Package java.io có lớp File cho phép bạn làm việc với các file (tệp). Thường để bắt đầu, cần tạo ra một đối tượng File bằng khởi tạo với tham số đường dẫn
import java.io.File; ... File file = new File("C:\\data\\input-file.txt");
Một số phương thức lớp File
exists() kiểm tra xem file có tồn tại hay không
getName() lấy tên file (input-file.txt)
getParent() lấy đường dẫn thư mục của file
getPath() đường dẫn đầy đủ
isDirectory() kiểm tra xem là thư mục hay không
isFile() kiểm tra xem là file hay không
length() cỡ file (byte)
createNewFile() tạo ra file mới
delete() xóa file
list() lấy tên file, thư mục chứa trong đường dẫn
mkdir() tạo thư mục
renameTo(File dest) đổi tên file
Ví dụ:
import java.io.File; public class MyClass { public static void main(String[ ] args) { File x = new File("C:\\xuanthulab\\test.txt"); System.out.println("Tên file: " + x.getName()); System.out.println("Thư mục: " + x.getParent()); System.out.println("Thư mục: " + x.getPath()); if(x.exists()) { System.out.println(x.getName() + "exists!"); } else { System.out.println("The file does not exist"); } } }
Tạo file mới và viết nội dung vào file
Lớp Formatter (java.util.Formatter) có thể tạo ra file mới và dùng để viết nội dung vào file bằng phương thức format
try { Formatter f = new Formatter("C:\\sololearn\\test.txt"); f.format("%s %s %s", "1","John", "Smith \r\n"); f.close(); } catch (Exception e) { System.out.println("Error"); }
Đọc nội dung file
Lớp Scanner kế thừa từ lớp Iterator được sử dụng để đọc nội dung file. Nếu đọc theo từng dòng dùng phương thức hasNextLine và nextLine kết hợp.
Ví dụ: tạo thư muc "C:\\xuanthulab.net" nếu không tồn tại, sau đó tạo file test.txt trong thư mục, viết nội dung vào file sau đó mở file đọc nội dung
import java.io.File; import java.util.Formatter; import java.util.Scanner; import java.io.FileNotFoundException; public class MyClass { public static void main(String[ ] args) { //Tạo thư mục File d = new File("C:\\xuanthulab.net"); if (!d.exists()) d.mkdir(); //Tạo mới và viết nội dung vào file try { Formatter f = new Formatter("C:\\xuanthulab.net\\test.txt"); f.format("Đây là file Vidu\r\n", null); f.format("%s %s %s", "1","John", "Smith \r\n"); f.format("%s %s %s", "2","Amy", "Brown"); f.close(); } catch (FileNotFoundException e) { System.out.println("Error"); } //Đọc nội dung file try { File x = new File("C:\\xuanthulab.net\\test.txt"); Scanner sc = new Scanner(x); String content = ""; while(sc.hasNextLine()) { content += sc.nextLine()+"\r\n"; } System.out.println(content); sc.close(); } catch (FileNotFoundException e) { System.out.println("Error"); } } }