Conversion Flow:
InputStreamReader: A byte-to-character bridge. Decoding
OutputStreamWriter: The character-to-byte bridge. Coding
The Basic Law of flow
1. Clear source and sink
Source: InputStream, Reader
Remit: OutputStream, Writer
2. Clear whether the data is plain text
Source: If yes, Reader, no, InputStream
Sink: If yes, Writer, no, outputstream
The first two points clear backyard, the system is clear
3. Identify specific equipment
SOURCE Device:
Hard disk: File
Keyboard: System.in
Memory: Array
Network: Socket stream
Meeting Equipment:
Hard disk: File
Console: System.out
Memory: Array
Network: Socket stream
4. Whether additional features are required (for the above enhancements)
1. Is it necessary to be efficient (buffer),
Yes, just add buffer.
2. Do I need to convert
Byte-character: InputStreamReader:
InputStreamReader ISR = new InputStreamReader (system.in);
FileWriter fe = new FileWriter ("ACM.txt");
Character, Byte: OutputStreamWriter:
OutputStreamWriter OSW = new OutputStreamWriter (System.out)
Practice:
1. Copy a text file:
(1) Clear source and sink: Source: InputStream Reader: OutputStream Writer
(2) Whether it is plain text: Yes, Source: Reader: Writer
(3) Clear device: Source: File Sink: File
FileReader FR = new FileReader (); FileWriter FW = new FileWriter ();
(4) need to be efficient: bufferedreader br = new BufferedReader (New FileReader ("Acm.txt"));
BufferedWriter bw = new BufferedWriter (New FileWriter ("ACM.txt"));
2. Read the keyboard information and write to a file
(1) Clear source and sink: Source: InputStream, Reader: OutputStream, Writer
(2) Whether it is plain text: Yes, Source: Reader: Writer
(3) Clear device: Source: Keyboard (system.in) Sinks: Hard Drive (File)
InputStream is = system.in (); FileWriter FW = new FileWriter ("ACM.txt");
(4) Required function: 1. Conversion, because it is clear that the source is reader, so it is more convenient
InputStreamReader ISR = new InputStreamReader (system.in);
FileWriter fe = new FileWriter ("ACM.txt");
2. Efficient: BufferedReader bf = new BufferedReader (new InputStreamReader (system.in));
BufferedWriter bw = new BufferedWriter (New FileWriter ("ACM.txt"))
3. Display data from a text file to the console
(1) Clear source and sink: Source: InputStream, Reader: OutputStream, Writer
(2) Whether it is plain text: Yes, Source: Reader: Writer
(3) Clear device: Source: Hard Drive (File) Sink: Console (System.out)
FileReader FR = new FileReader ("Acm.txt");
OutStream out = System.ou;
(4) Required function:
Conversion: FileReader FR = new FileReader ("Acm.txt");
OutputStreamWriter OSW = new OutputStreamWriter (System.out) ;
Efficient: BufferedReader br = new BufferedReader (New FileReader ("Acm.txt"))
BufferedWriter bw = new BufferedWriter (new OutputStreamWriter (System.out));
4. Read the keyboard data and display it to the console
(1) Clear source and sink: Source: InputStream, Reader: OutputStream, Writer
(2) Whether it is plain text: Yes, Source: Reader: Writer
(3) Clear device: Source: Keyboard (system.in) Sinks: Console (System.out)
Inputsream in = system.in
OutputStream out = System.out;
(4) Need to convert, are byte stream, manipulate text data, use character stream operation, more convenient, read one line at a time
InputStreamReader ISR = new InputStreamReader (system.in);
OutputStreamWriter OSW = new OutputStreamWriter (System.out);
Efficient:
bufferedreader br = new BufferedReader (new InputStreamReader (system.in));
BufferedWriter bw = new BufferedWriter (new OutputStreamWriter (System.ou))
Not finished
Java Learning Lesson 51st-io Flow (v) Flow Operation Basic Law