Java SE 第8章流和文件--字节流、字符流

一、字节流
InputStream所有字节输入流的父类。
方法列表:
abstract int read()
int read(byte[] b)
int read(byte[] b,int offset,int len)
int available()
void close()
该类是抽象类,想要对数据进行读取必须使用其子类,通过创建流对象来调用read方法进行数据的读取。
其常见子类:
FileInputStream
ByteArrayInputStream
FilterInputStream
PipedInputStream
ObjectInputStream
示例:利用FileInputStream把D盘中的test.txt文件中的内容读取并打印到控制台。

FileInputStream fi=null;
fi=new FileInputStream("D:\\test.txt");
int value=fi.read();
System.out.println((char)value);

OutputStream所有字节输出流的父类。
方法列表:
void write(int c)
void write(byte[] b)
void write(byte[] b,int offset,int len)
void close()
void flush()
该类是也是抽象类,想要对数据进行读取必须使用其子类,通过创建流对象来调用read方法进行数据的读取。
常见子类:
FileOutputStream
ByteArrayOutputStream
FilterOutputStream
PipedOutputStream
ObjectOutputStream
示例:利用FileOutputStream把内容(10个A)写入D:\test.txt文件中。

FileOutputStream fo=null;
fo=new FileOutputStream("D:\\test.txt");
for(int i=0;i<10;i++){
    
    
fo.write(65);
}

过滤流:实现了对一个已经存在的流的连接和封装。
FilterInputStream为过滤输入流。
常见子类:
DataInputStream
BufferedInputStream
LineNumberInputStream
PushbackInputStream
示例:利用BufferedInputStream把(10个A)从D盘中test.txt文件读取出来。

BufferedInputStream bi=null;
bi= new BufferedInputStream(new FileInputStream("D:\\test.txt"));
int result=0;
while((result=bi.read())!=-1){
    
    
System.out.print((char)result);
}

FilterOutputStream为过滤输出流。
常见子类:
DataOutputStream
BufferedOutputStream
PrintStream
示例:利用BufferedOutputStream向D盘中test.txt文件写入数据。

BufferedOutputStream bo=null;
bo=new BufferedOutputStream(new FileOutputStream("D:\\test.txt"));
for(int i=0;i<10;i++){
    
    
bo.write(65);
}

二、字符流
Reader类是字符输入流所有类的父类。
方法列表:
int read()
int read(char[]buffer)
int read(char[]buffer,int offset int len)
void close()
常见子类:
CharArrayReader
BufferedReader
StringReader
FileReader
InputStreamReader
示例:利用FileReader和BufferedReader读取D盘根目录下的test.txt文件中的内容。

BufferedReader br=null;
br=new BufferedReader (new FileReader("D:\\test.txt"));
String result=null;
while((result=br.readline())!=null){
    
    
System.out.println(result);
}

Writer类是字符输出流所有类的父类。
方法列表:
void write(int c)
void write(char[]buffer)
void write(char[]buffer,int offset,int len)
void write(String str)
常见子类:
CharArrayWriter
BufferedWriter
StringWriter
FileWriter
OutputStreamWriter
示例:利用FileWriter和BufferedWriter将(“hello world”)写入D:\test.txt。

BufferedReader bw=null;
bw=new BufferedReader (new FileWriter(D:\\test.txt));
String line=System.getProperty("line.separator");
bw.write("hello world");
bw.flush();

猜你喜欢

转载自blog.csdn.net/qq_45618376/article/details/111397492