Java ghi vào tệp

Java Write File



Để lưu trữ dữ liệu tạm thời hoặc vĩnh viễn cho mục đích lập trình, chúng ta cần ghi dữ liệu vào một tệp. Có nhiều lớp và phương thức trong Java để ghi dữ liệu trong một tệp. Cách các lớp và phương thức khác nhau có thể được sử dụng trong Java để ghi dữ liệu trong tệp được trình bày trong hướng dẫn này.

Một số lớp và phương thức cần thiết để ghi tệp:

phương thức writeString ():

Phương thức này được hỗ trợ bởi Java phiên bản 11. Nó có thể có bốn tham số. Đây là đường dẫn tệp, chuỗi ký tự, bộ ký tự và các tùy chọn. Hai tham số đầu tiên là bắt buộc để phương thức này ghi vào tệp. Nó ghi các ký tự dưới dạng nội dung của tệp. Nó trả về đường dẫn tệp và có thể đưa ra bốn loại ngoại lệ. Tốt hơn là sử dụng khi nội dung của tệp ngắn.







Lớp FileWriter:

Nếu nội dung của tệp ngắn, thì sử dụng FileWriter lớp để ghi vào tệp là một lựa chọn khác tốt hơn. Nó cũng ghi dòng ký tự dưới dạng nội dung của tệp như writeString () phương pháp. Hàm tạo của lớp này xác định mã hóa ký tự mặc định và kích thước bộ đệm mặc định tính bằng byte.



Lớp BufferedWriter:

Nó được sử dụng để ghi văn bản vào luồng xuất ký tự. Nó có kích thước bộ đệm mặc định, nhưng kích thước bộ đệm lớn có thể được chỉ định. Nó rất hữu ích để viết ký tự, chuỗi và mảng. Tốt hơn là nên kết hợp lớp này với bất kỳ lớp người viết nào để ghi dữ liệu vào tệp nếu không yêu cầu đầu ra nhanh chóng.



Lớp FileOutputStream:

Nó được sử dụng để ghi dữ liệu luồng thô vào một tệp. Các lớp FileWriter và BufferedWriter chỉ được sử dụng để ghi văn bản vào một tệp, nhưng dữ liệu nhị phân có thể được ghi bằng cách sử dụng lớp FileOutputStream.





Các ví dụ sau đây cho thấy việc sử dụng phương thức và các lớp được đề cập.

Ví dụ-1: Ghi vào tệp bằng phương thức writeString ()

Ví dụ sau đây cho thấy việc sử dụng writeString () phương pháp đó là Các tập tin lớp để ghi dữ liệu vào tệp. Một lớp khác, Con đường, được sử dụng để gán tên tệp với một đường dẫn nơi nội dung sẽ được viết. Các tập tin lớp có một phương thức khác có tên readString () để đọc nội dung của bất kỳ tệp hiện có nào được sử dụng trong mã để kiểm tra nội dung có được ghi đúng trong tệp hay không.



nhập khẩu java.nio.file.Files;
nhập khẩu java.nio.file.Path;
nhập khẩu java.io.IOException;

công cộng lớpfwrite1{

công cộng tĩnh vô hiệuchủ chốt( Dây []args) ném IOException
{
// Gán nội dung của tệp
Dây chữ= 'Chào mừng đến với Linuxhint Học java từ cơ bản ';

// Xác định tên tệp của tệp
Tên tệp đường dẫn=Con đường.của('file1.txt');

// Ghi vào tệp
Các tập tin.writeString(fileName, văn bản);

// Đọc nội dung của tệp
Dây file_content=Các tập tin.readString(fileName);

// In nội dung tệp
Hệ thống .ngoài.println(file_content);
}
}

Đầu ra:

Kết quả sau sẽ xuất hiện sau khi chạy mã. Ở đây, hai dòng được viết trong tệp được hiển thị trong đầu ra.

Ví dụ-2: Ghi vào tệp bằng lớp FileWriter

Ví dụ sau cho thấy việc sử dụng lớp FileWriter để ghi nội dung vào một tệp. Nó yêu cầu tạo đối tượng của lớp FileWriter với tên tệp để ghi vào tệp. Kế tiếp, Viêt() phương thức được sử dụng để viết giá trị của chữ biến trong tệp. Nếu bất kỳ lỗi nào xảy ra tại thời điểm ghi tệp, thì IOexception sẽ được ném ra và thông báo lỗi sẽ được in từ khối bắt.

// Nhập các gói cần thiết
nhập khẩu java.io.FileWriter;
nhập khẩu java.io.IOException;

công cộng lớpfwrite2{

công cộng tĩnh vô hiệuchủ chốt( Dây []args) {

// Gán nội dung tệp
Dây chữ= 'Phiên bản Java mới nhất có những cải tiến quan trọng
để cải thiện hiệu suất, '
+ 'ổn định và bảo mật của Java
các ứng dụng chạy trên máy của bạn. '
;
cố gắng
{
// Tạo một đối tượng FileWriter để ghi vào tệp
FileWriter fWriter= Mới FileWriter ('file2.txt');

// Ghi vào tệp
fWriter.viết(chữ);

// In thông báo thành công
Hệ thống .ngoài.in('Tệp được tạo thành công với nội dung.');

// Đóng đối tượng ghi tệp
fWriter.gần();
}
chụp lấy ( IOException)
{
// In thông báo lỗi
Hệ thống .ngoài.in(Và.getMessage());
}
}
}

Đầu ra:

Nếu nội dung tệp được ghi thành công trong tệp, thì kết quả sau sẽ xuất hiện. Bạn có thể kiểm tra thư mục dự án để xác nhận rằng tệp được tạo đúng cách hay không.

Ví dụ-3: Ghi vào tệp bằng lớp BufferedWriter

Ví dụ sau cho thấy việc sử dụng lớp BufferedWriter để ghi vào một tệp. Nó cũng yêu cầu tạo đối tượng của lớp BufferedWriter giống như FileWriter để ghi nội dung vào tệp. Nhưng lớp này hỗ trợ nội dung lớn để ghi vào tệp bằng cách sử dụng kích thước bộ đệm lớn.

nhập khẩu java.io.BufferedWriter;
nhập khẩu java.io.FileWriter;
nhập khẩu java.io.IOException;
công cộng lớpfwrite3{

công cộng tĩnh vô hiệuchủ chốt( Dây []args) {

// Gán nội dung tệp
Dây chữ= 'Học Java dễ dàng từ LinuxHint';

cố gắng {

// Tạo một đối tượng của BufferedWriter
BufferedWriter f_writer= Mới BufferedWriter (Mới FileWriter ('file3.txt'));
f_writer.viết(chữ);

// In thông báo thành công
Hệ thống .ngoài.in('Tệp được tạo thành công với nội dung.');

// Đóng đối tượng BufferedWriter
f_writer.gần();
}
chụp lấy ( IOException)
{
// In thông báo lỗi
Hệ thống .ngoài.in(Và.getMessage());
}
}
}

Đầu ra:

Nếu nội dung tệp được ghi thành công trong tệp, thì kết quả sau sẽ xuất hiện. Bạn có thể kiểm tra thư mục dự án để xác nhận rằng tệp được tạo đúng cách hay không.

Ví dụ-4: Ghi vào tệp bằng lớp FileOutputStream

Để ghi dữ liệu vào một tệp bằng cách sử dụng lớp FileOutputStream được hiển thị trong ví dụ sau. Nó cũng yêu cầu tạo đối tượng của lớp với tên tệp để ghi dữ liệu vào tệp. Ở đây, nội dung chuỗi được chuyển đổi thành mảng byte được ghi vào tệp bằng cách sử dụng viết() phương pháp.

nhập khẩu java.io.FileOutputStream;
nhập khẩu java.io.IOException;

công cộng lớpfwrite4{

công cộng tĩnh vô hiệuchủ chốt( Dây []args) {

// Gán nội dung tệp
Dây fileContent= 'Chào mừng đến với LinuxHint';

cố gắng {
// Tạo một đối tượng của FileOutputStream
FileOutputStream outputStream= Mới FileOutputStream ('file4.txt');

// lưu trữ nội dung byte từ chuỗi
byte[]strToBytes=fileContent.getBytes();

// Ghi vào tệp
outputStream.viết(strToBytes);

// In thông báo thành công
Hệ thống .ngoài.in('Tệp được tạo thành công với nội dung.');

// Đóng đối tượng
outputStream.gần();
}
chụp lấy ( IOException)
{
// In thông báo lỗi
Hệ thống .ngoài.in(Và.getMessage());
}
}
}

Đầu ra:

Nếu nội dung tệp được ghi thành công trong tệp, thì kết quả sau sẽ xuất hiện. Bạn có thể kiểm tra thư mục dự án để xác nhận rằng tệp được tạo đúng cách hay không.

Phần kết luận:

Nhiều cách để ghi vào một tệp được hiển thị trong hướng dẫn này bằng cách sử dụng các lớp Java khác nhau. Người dùng có thể chọn bất kỳ lớp nào được đề cập ở đây để ghi vào tệp dựa trên nội dung của tệp.