Iterator (Bài trước)

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 hasNextLinenextLine 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");
    	}
  }
}

Đăng ký nhận bài viết mới
Iterator (Bài trước)