1. The buffer-flow principle
- Transport stream is added to a basic buffer (array), so that the byte / character is no longer a one transmission, but the "package" in the array, a one-time transmission,efficient
2. byte stream buffer
2.1 byte buffered output streamBufferedOutputStream
- Steps for usage:
- Create a
FileOutputStream
class object constructor to fill the output destination - Create a
BufferedOutputStream
class object constructor to fill newly createdFileOutputStream
class object - Call the
write()
method, data is written toBuffer - Call
flush()
method will flush the buffer data to the hard disk - Call the
close()
method, the release of memory
import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class Demo03 {
public static void main(String[] args) throws IOException {
FileOutputStream fileOutputStream = new FileOutputStream("G:\\Java\\测试文件夹\\d.txt");
BufferedOutputStream buffer = new BufferedOutputStream(fileOutputStream);
byte[] bytes = {97,98,99,100};
buffer.write(bytes);
buffer.flush();
buffer.close();
}
}
2.2 byte input stream bufferBufferedInputStream
- Steps for usage:
- Create a
FileInputStream
class object constructor to fill in the data source - Create a
BufferedInputStream
class object constructor to fill newly createdFileInputStream
class object - Call the
read()
method, data is written toBuffer - Call the
close()
method, the release of memory
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.IOException;
public class Demo04 {
public static void main(String[] args) throws IOException {
FileInputStream file = new FileInputStream("G:\\Java\\测试文件夹\\d.txt");
BufferedInputStream buffer = new BufferedInputStream(file);
byte[] bytes =new byte[1024];
int len = 0;
while ((len=buffer.read(bytes))!=-1){
System.out.println(new String(bytes,0,len));
}
buffer.close();
}
}
3. character buffer flow
3.1 Character buffered output streamBufferedWriter
-
Specific methods:
对象.newLine()
wrapping, the system need not be considered -
Steps for usage:
- Create a
Writer
class object constructor to fill the output destination - Create a
BufferedWriter
class object constructor to fill newly createdWriter
class object - Call the
write()
method, data is written toBuffer - Call
flush()
method will flush the buffer data to the hard disk - Call the
close()
method, the release of memory
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
public class Demo06 {
public static void main(String[] args) throws IOException {
FileWriter file = new FileWriter("G:\\Java\\测试文件夹\\e.txt");
BufferedWriter buffer = new BufferedWriter(file);
char[] chars = {'a','b','c'};
buffer.write(chars);
buffer.newLine();//换行,不需要考虑系统
buffer.flush();
char[] chars1 = {'你','好'};
buffer.write(chars1);
buffer.flush();
buffer.close();
}
}
3.2 buffered input character streamBufferedReader
-
Specific method:
对象.readLine()
read a line of text (subject line to line breaks) -
Steps for usage:
- Create a
Reader
class object constructor to fill the input source - Create a
BufferedReader
class object constructor to fill newly createdReader
class object - Call
reader()
/readLine()
method, read all / line data - Call the
close()
method, the release of memory
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.IOException;
public class Demo07 {
public static void main(String[] args) throws IOException {
FileReader file = new FileReader("G:\\Java\\测试文件夹\\f.txt");
BufferedReader buffer = new BufferedReader(file);
String str = buffer.readLine();
System.out.println(str);
buffer.close();
}
}