Chào các bạn đã đến với chủ đề tiếp theo của mình. Hôm nay, mình sẽ tiếp tục tìm hiểu về cách xử file trong Java. Ở bài này, mình sẽ đi qua những nội dung như sau:
Nội dung
1. Tạo một đối tượng File
Để tạo một đối tượng của File, trước tiên chúng ta cần import package java.io.File. Sau đó, chúng ta sẽ tạo đối tượng của lớp File như bên dưới:
import java.io.File;
...
File file = new File("C:\\data\\input-file.txt");
Trong đó
File
– Lớp filefile
– đối tượng của lớp fileC:\\data\\input-file.txt
– tên file cần tạo
2. Một số phương thức làm việc với File
Phương thức | Ý nghĩa |
createNewFile() | Tạo file |
read() | Đọc file |
write() | Write file |
delete() | xóa 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() | dung lượng file (byte) |
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ụ:
package XuLyFile;
import java.io.File;
public class Example1 {
public static void main(String[ ] args) {
File x = new File("C:\\Data File\\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("File không tồn tại");
}
}
}
Kết quả:
Tên file: test.txt
Thư mục: C:\Data File
Thư mục: C:\Data File\test.txt
File không tồn tại
3. Create file trong Java
Để tạo một file mới, chúng ta có thể sử dụng phương thức createNewFile(). Nó sẽ trả về giá trị:
- true nếu file mới được tạo.
- false nếu file đã tồn tại.
Ví dụ:
package XuLyFile;
import java.io.File;
public class CreateFile {
public static void main(String[] args) {
File file = new File("C:\\Data File\\test.txt");
try {
boolean kq = file.createNewFile();
if (kq) {
System.out.println("File duoc tao!");
}
else {
System.out.println("File da ton tai");
}
}
catch(Exception e) {
e.getStackTrace();
}
}
}
Kết quả:
File duoc tao!
Trong ví dụ trên, chúng ta đã tạo một đối tượng tệp có tên là file. Đối tượng này được liên kết với đường dẫn của tệp được chỉ định.
File file = new File("C:\\Data File\\test.txt");
Ở đây, chúng ta đã sử dụng đối tượng này để tạo một tệp mới với đường dẫn được chỉ định. Do mình run đoạn code trên lần đầu tiên test.txt, nên chương trình file test.txt sẽ được tạo mới và in message: “File duoc tao!”. Nếu bạn chạy lần tiếp theo, do file test.txt bạn đã tạo rồi, nên nó sẽ in message: “File da ton tai”.
4. Read file trong Java
Có nhiều cách để read file. Trong bài này mình sẽ hướng dẫn cách read file bằng FileReader.
Ví dụ: Giả sử chúng ta có một tệp có tên test.txt với nội dung như sau:
Lap trinh java for tester.
Day la chuong trinh java de read file.
package XuLyFile;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
public class ReadFile {
public static void main(String[] args) {
File file = new File("C:\\Data File\\ReadFile.txt");
try (BufferedReader br = new BufferedReader(new FileReader(file)))
{
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
5. Write file trong Java
Trong Java, để write file ta sẽ sử dụng phương thức FileWriter() . Lưu ý: phương thức này sẽ xóa nội dung hiện tại và write nội dung mới vào file.
package XuLyFile;
import java.io.FileWriter;
import java.io.IOException;
public class WriteFile {
public static void main(String[] args) {
try {
FileWriter myWriter = new FileWriter("C:\\Data File\\WriteFile.txt");
myWriter.write("Files in Java might be tricky, but it is fun enough!");
myWriter.close();
System.out.println("Successfully wrote to the file.");
} catch (IOException e) {
System.out.println("An error occurred.");
e.printStackTrace();
}
}
}
Ngoài ra, mình có thể append nội dung mới vào file bằng cú pháp:
FileWriter myWriter = new FileWriter("C:\\Data File\\WriteFile.txt", true);
6. Delete file trong Java
Trong Java, để xóa một file ta sử dụng phương thức delete() . Đây là phương thức được tích hợp sẵn trong lớp file. Khi xóa file thành công phương thức này sẽ trả về True và ngược lại. Nếu xóa file không thành công phương thức sẽ trả về False.
Ngoài ra ta cũng cần chú ý 2 phương thức sau của lớp file:
- Phương thức delete(Path) : dùng để xóa file hoặc sẽ ném ra một ngoại lệ nếu không xóa được. Ví dụ như việc nếu file không tồn tại thì ngoại lệ NoSuchFileException sẽ được ném ra. Ta cũng có thể dựa vào đó bắt ngoại lệ để xác định lý do tại sao việc xóa không thành công
- Phương thức deleteIfExists(Path) : cũng là dùng để xóa file nhưng phương thức này sẽ không ném ra ngoại lệ dù file có không tồn tại đi nữa. Điều này hữu ích trong việc ta có nhiều luồng để xóa tập tin và ta không muốn ném ngoại lệ vì một luồng nào đó đã đảm nhiệm
Ví dụ:
package XuLyFile;
import java.io.File;
public class DeleteFile {
public static void main(String[] args) {
try {
File file = new File("C:\\Data File\\Delete.txt");
if (file.delete()) {
System.out.println(file.getName() + " đã xóa!");
} else {
System.out.println("Thao tác xóa không thành công.");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
Kết quả:
Delete.txt đã xóa!
7. Kết
Như vậy chúng ta đã tìm hiểu xong cách xử lý file trong Java. Cảm ơn các bạn đã theo dõi bài viết của mình. Chúc các bạn thành công. Hẹn gặp lại các bạn ở những chủ đề tiếp theo. Bái bai.
Nguồn: