1. FileWritter เขียนไปยังไฟล์
FileWritter สตรีมอักขระเขียนอักขระไปยังไฟล์ โดยค่าเริ่มต้นจะแทนที่เนื้อหาที่มีอยู่ทั้งหมดด้วยเนื้อหาใหม่อย่างไรก็ตามเมื่อระบุค่าจริง (บูลีน) เป็นพารามิเตอร์ที่สองของตัวสร้าง FileWritter มันจะเก็บเนื้อหาที่มีอยู่และผนวกเนื้อหาใหม่ในตอนท้ายของไฟล์
1. แทนที่เนื้อหาที่มีอยู่ทั้งหมดด้วยเนื้อหาใหม่
ใหม่ FileWriter (ไฟล์); 2. เก็บเนื้อหาที่มีอยู่และเนื้อหาใหม่ที่แนบมากับส่วนท้ายของไฟล์
การคัดลอกรหัสมีดังนี้:
ใหม่ FileWriter (ไฟล์จริง);
ต่อท้ายตัวอย่างไฟล์
ไฟล์ข้อความชื่อ "javaio-appendfile.txt" และมีเนื้อหาต่อไปนี้
ABC Hello เพิ่มเนื้อหาใหม่ FileWriter ใหม่ (ไฟล์จริง)
การคัดลอกรหัสมีดังนี้:
แพ็คเกจ com.yiibai.file;
นำเข้า Java.io.File;
นำเข้า java.io.filewriter;
นำเข้า java.io.bufferedwriter;
นำเข้า java.io.ioException;
Public Class Public
-
โมฆะคงที่สาธารณะหลัก (สตริง [] args)
-
พยายาม{
String data = "เนื้อหานี้จะผนวกเข้ากับส่วนท้ายของไฟล์";
ไฟล์ไฟล์ = ไฟล์ใหม่ ("javaio-appendfile.txt");
// ถ้าไฟล์ไม่มีอยู่ให้สร้างมัน
if (! file.exists ()) {
file.createnewfile ();
-
// true = ต่อท้ายไฟล์
fileWriter fileWritter = ใหม่ fileWriter (file.getName (), true);
bufferedWriter bufferWritter = new BufferedWriter (FileWritter);
bufferwritter.write (ข้อมูล);
bufferwritter.close ();
System.out.println ("เสร็จสิ้น");
} catch (ioexception e) {
E.PrintStackTrace ();
-
-
-
ผลลัพธ์
ตอนนี้เนื้อหาของไฟล์ข้อความ "javaio-appendfile.txt" ได้รับการอัปเดตดังนี้:
ABC สวัสดีเนื้อหานี้จะต่อท้ายไฟล์
2. BufferedWriter เขียนไปยังไฟล์
BufferedWriter เป็นคลาสสตรีมอักขระที่ประมวลผลข้อมูลอักขระ ซึ่งแตกต่างจากสตรีมไบต์ (ข้อมูลถูกแปลงเป็นไบต์) คุณสามารถเขียนสตริงอาร์เรย์หรือข้อมูลอักขระไปยังไฟล์โดยตรง
การคัดลอกรหัสมีดังนี้:
แพ็คเกจ com.yiibai.iofile;
นำเข้า java.io.bufferedwriter;
นำเข้า Java.io.File;
นำเข้า java.io.filewriter;
นำเข้า java.io.ioException;
ชั้นเรียนสาธารณะ writetofileexample {
โมฆะคงที่สาธารณะหลัก (สตริง [] args) {
พยายาม {
String content = "นี่คือเนื้อหาที่จะเขียนลงในไฟล์";
ไฟล์ไฟล์ = ไฟล์ใหม่ ("/ผู้ใช้/mkyong/filename.txt");
// ถ้าไฟล์ไม่มีอยู่ให้สร้างมัน
if (! file.exists ()) {
file.createnewfile ();
-
fileWriter fw = fileWriter ใหม่ (file.getAbsoluteFile ());
BufferedWriter BW = New BufferedWriter (FW);
bw.write (เนื้อหา);
bw.close ();
System.out.println ("เสร็จสิ้น");
} catch (ioexception e) {
E.PrintStackTrace ();
-
-
-
3. FileOutputStream เขียนไปยังไฟล์
สตรีมเอาต์พุตไฟล์เป็นคลาสสตรีมไบต์ที่ใช้ในการประมวลผลข้อมูลไบนารีดิบ ในการเขียนข้อมูลไปยังไฟล์ข้อมูลจะต้องถูกแปลงเป็นไบต์และบันทึกลงในไฟล์ ดูตัวอย่างที่สมบูรณ์ด้านล่าง
การคัดลอกรหัสมีดังนี้:
แพ็คเกจ com.yiibai.io;
นำเข้า Java.io.File;
นำเข้า Java.io.FileOutputStream;
นำเข้า java.io.ioException;
คลาสสาธารณะ WriteFileExample {
โมฆะคงที่สาธารณะหลัก (สตริง [] args) {
fileOutputStream fop = null;
ไฟล์ไฟล์;
String Content = "นี่คือเนื้อหาข้อความ";
พยายาม {
ไฟล์ = ไฟล์ใหม่ ("c:/newfile.txt");
FOP = ใหม่ fileOutputStream (ไฟล์);
// ถ้าไฟล์ไม่มีอยู่ให้สร้างมัน
if (! file.exists ()) {
file.createnewfile ();
-
// รับเนื้อหาเป็นไบต์
ไบต์ [] contentInbytes = content.getBytes ();
fop.write (ContentInbytes);
fop.flush ();
fop.close ();
System.out.println ("เสร็จสิ้น");
} catch (ioexception e) {
E.PrintStackTrace ();
} ในที่สุด {
พยายาม {
ถ้า (fop! = null) {
fop.close ();
-
} catch (ioexception e) {
E.PrintStackTrace ();
-
-
-
-
ตัวอย่างเช่น // updated JDK7 ใช้วิธีการ "Try Resource Shutdown" ใหม่เพื่อประมวลผลไฟล์ได้อย่างง่ายดาย
แพ็คเกจ com.yiibai.io;
นำเข้า Java.io.File;
นำเข้า Java.io.FileOutputStream;
นำเข้า java.io.ioException;
คลาสสาธารณะ WriteFileExample {
โมฆะคงที่สาธารณะหลัก (สตริง [] args) {
ไฟล์ไฟล์ = ไฟล์ใหม่ ("c:/newfile.txt");
String Content = "นี่คือเนื้อหาข้อความ";
ลอง (fileOutputStream fop = ใหม่ fileOutputStream (ไฟล์)) {
// ถ้าไฟล์ไม่มีอยู่ให้สร้างมัน
if (! file.exists ()) {
file.createnewfile ();
-
// รับเนื้อหาเป็นไบต์
ไบต์ [] contentInbytes = content.getBytes ();
fop.write (ContentInbytes);
fop.flush ();
fop.close ();
System.out.println ("เสร็จสิ้น");
} catch (ioexception e) {
E.PrintStackTrace ();
-
-
-