คลาส Java BufferedReaderอ่านข้อความจากสตรีมอินพุตอักขระ โดยบัฟเฟอร์อักขระที่อ่านเพื่อให้สามารถอ่านอักขระ อาร์เรย์ และสตริงได้อย่างมีประสิทธิภาพ คุณสามารถระบุขนาดบัฟเฟอร์เป็นพารามิเตอร์ตัวที่สองในตัวสร้าง
นักออกแบบ:
BufferedReader(Reader in) // Creates a character input buffer stream that uses the default buffer size.
BufferedReader(Reader in, int sz) // Creates a character input buffer stream that uses the specified size.
วิธีการ:
close() // close the stream
mark(int readAheadLimit) // mark the position in the stream
markSupported() // does it support thread tagging
int read() // read buffer
int read(char[] cbuf, int off, int len) // read buffer
String readLine() // next line
boolean ready() // can the thread read
reset() // reset stream
skip(long n) // skip characters
ตัวอย่างการใช้คลาส BufferedReader และ BufferedWriter: การอ่านไฟล์:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class FileReaderExample {
public static void main(String[] args) {
String inputFileName = "file.txt";
try (BufferedReader reader = new BufferedReader(new FileReader(inputFileName))) {
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line + "\n");
}
}
catch (IOException e) {
e.printStackTrace();
}
}
}
คลาส Java BufferedWriterเขียนข้อความไปยังสตรีมเอาท์พุตอักขระ โดยบัฟเฟอร์อักขระที่เขียนเพื่อให้สามารถเขียนอักขระ อาร์เรย์ และสตริงได้อย่างมีประสิทธิภาพ คุณสามารถระบุขนาดบัฟเฟอร์เป็นพารามิเตอร์ตัวที่สองในตัวสร้าง นักออกแบบ:
BufferedWriter(Writer out) // Creates a character output buffer stream that uses the default buffer size.
BufferedWriter(Writer out, int sz) // Creates a character output buffer stream that uses the specified size.
วิธีการ:
close() // close the stream
flush() // pass data from buffer to Writer
newLine() // wrap to new line
write(char[] cbuf, int off, int len) // write to buffer
write(int c) // write to buffer
write(String s, int off, int len) // write to buffer
ตัวอย่างการใช้คลาส Java BufferedReader และ BufferedWriter: การเขียนลงในไฟล์
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
public class FileWritterExample {
public static void main(String[] args) {
String outputFileName = "file.txt";
String[] array = { "one", "two", "three", "four" };
try (BufferedWriter writter = new BufferedWriter(new FileWriter(outputFileName))) {
for (String value : array) {
writter.write(value + "\n");
}
}
catch (IOException e) {
e.printStackTrace();
}
}
}
FileWriter
เขียนข้อมูลลงดิสก์ทันทีและเข้าถึงข้อมูลทุกครั้ง บัฟเฟอร์ทำงานเป็น wrapper และเพิ่มความเร็วให้กับแอปพลิเคชัน บัฟเฟอร์จะเขียนข้อมูลลงในตัวเอง จากนั้นจึงเขียนไฟล์ชิ้นใหญ่ลงดิสก์ เราอ่านข้อมูลจากคอนโซลและเขียนลงในไฟล์:
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
public class ConsoleReaderExample {
public static void main(String[] args) {
String outputFileName = "file.txt";
try (BufferedReader reader = new BufferedReader(new InputStreamReader(System.in))) {
try (BufferedWriter writter = new BufferedWriter(new FileWriter(outputFileName))) {
String line;
while (!(line = reader.readLine()).equals("exit")) { // Break the loop when writing the line exit
writter.write(line);
}
}
}
catch (IOException e) {
e.printStackTrace();
}
}
}
GO TO FULL VERSION