字节流:字节流是一个字节8位,字节流被称为输入流InputStream和 输出字节流OutputStream,
字符流:字符流的基本单位为 Unicode,大小为两个字节(Byte) 16位,字节流被称为Reader(输入字符流)和 Writer(输出字符流)
文件-内存-文件
实现从文件读到内存 使用输入流 FileInputStream/FileReader
实现从内存保存数据到文件,使用输出流 FileOutputStream/FileWriter
比较常用的字节流:
Object -> InputStream ->FileInputStream->BufferedInputStream
Object -> OutputStream ->FileOutputStream->BufferedOutputStream
字符流:
Reader->InputStreamReader->FileReader
Writer->OutputStreamWriter->FileWriter
Reader->BufferedReader
Writer->BufferedWriter
类型 字节流 字符流 简介
Filter FilterInputStream FilterReader 带有过滤操作的流
FilterOutputStream FilterWriter 带有过滤操作的流
Buffered BufferedInputStream BufferedReader 带有缓冲的流
BufferedOutputStream BufferedWriter 带有缓冲的流
Piped PipedInputStream PipedReader 管道流,一个输出可以冲输入中进行操作
PipedOutputStream PipedWriter 管道流,一个输出可以冲输入中进行操作
File FileOutputStream FileReader 用于文件的读
FileOutputStream FileWriter 用于文件的写
InputStream的方法read,读取的字节,是0~255的整形数。如果读取完成,返回-1
InputStreamReader和OutputStreamWriter是转换流,可以将字节流转换为字符流
例如:
File file = new File("E:/amaroft/file/a.txt");
String str="dfgfgg2435465";
//输出流,字节流
FileOutputStream fos=new FileOutputStream(file);
//将字节流转换成字符流
OutputStreamWriter osw=new OutputStreamWriter(fos);
//带缓冲的字符流
BufferedWriter bw =new BufferedWriter(osw);
bw.write(str);
bw.newLine();
bw.flush();
bw.close();
osw.close();
fos.close();