java读写文件的IO流分两大类,字节流和字符流,基类分别是字符:Reader和Writer;
字节:InputStream和OutPutStream,
字符流分为FileReader和FileWrtier,这两个的父类是InputStreamReader和OutStreamWrtier
字节流分为FileInputStream和FileOutPutStream
Reader->InputStreamReader->FileReader
Reader->BufferedReader
Writer->OutputStreamWriter->FileWriter
Writer->BufferedWriter
InputStream->FileInputStream。FileInputStream 用于读取诸如图像数据之类的原始字节流。要读取字符流,请考虑使用 FileReader。
InputStream->FilterInputStream->BufferedInputStream
OutputStream->FileOutputStream。FileOutputStream 用于写入诸如图像数据之类的原始字节的流。要写入字符流,请考虑使用 FileWriter
OutputStream->FilterOutputStream->BufferedOutputStream
流的步骤大概分为以下几步:
// 创建文件对象
File file = new File("xxx.txt");
//用流装载文件
FileReader fr = new FileReader(file);
//如果用缓冲区,则用缓冲区装载流,用缓冲区是为了提高读写性能
BufferReader br = new BufferReader(fr);
//开始读写操作
String s = null; StringBuffer sb = new StringBuffer(); while((s=br.readLine()!=null) { sb.append(s); }
//如果遇到字节流要转换成字符流,则在缓冲区前加一步
InputStreamReader isr = new InpuStreamReader(InputStream in);
//或者需要编码转换的,则在缓冲区前加一步
InputStreamReader isr = new InpuStreamReader(InputStream in,Charset cs);