InputStream与Reader
前者是字节输入流,读取文件内容,文件需要先转换成byte,才能读取得到,如果是中文,可能会出现乱码;后者是字符输入流,可以读取字符串,特别是有中文的时候,可以使用此类,不会出现乱码。
OutputStream 与Writer
前者是字节输出流,数据保存到文本中,需要先转换成byte,有中文会出现乱码;后者是字符输出流,字符串可以直接写入到文本中,不需要转换成byte,中文不会出现乱码
基本关系图
1:InputStream与FileInputStream基本引用
public static void main(String[] args) throws IOException { String str=new String(); InputStream in=new FileInputStream(new File("F:\\t.txt")); byte[] bytes=new byte[1024]; int i=0; while ((i=in.read(bytes))!=-1){ str+=new String(bytes,0,i); } in.close(); }
2:BufferInputStream
BufferInputStream是一个字节缓冲流,读取的速率能远远大于FileInputStream,对应大文件会有很明显的效果
public static void main(String[] args) throws IOException, ParseException { String str=new String(); InputStream in=new FileInputStream(new File("F:\\t.txt")); BufferedInputStream buffered=new BufferedInputStream(in); byte[] bytes=new byte[1024]; int i=0; while ((i=buffered.read(bytes))!=-1){ str+=new String(bytes,0<