服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

浅析java的流


  由于手头有个项目需要用的java的输入输出操作,
  所以,啃了几天书,对java的流技术有些了解,不过,还是有很多不是很明白,下面是我看书整理的一些笔记,严格的说应该不是原创,我贴出来只是希望对大家有一些帮助
  
  1、java拥有一个完整的流类型,总数超过60,而四个抽象类构成了这些类的基础
  
  inputstream和outputstream读写以单字节为基础的字节数据流;
  
  reader和writer读写以双字节的unicode字符为基础的字节数据流;
  
  
  2、二进制数据的读写
  
  datainputstream和dataoutputstream
  
  可以完成对所有基本java类型的读写;
  
  fileinputstream和fileoutputstream
  
  对一个磁盘文件涉及的数据流进行输入输出处理,是字节级的读写操作;
  
  
  3、java的流类型中按职责分有两类:
  
  (1)从文件或者一些特殊地方读入字节数据(如fileinputstream);
  
  (2)把这些字节数据“组装”成更有用的数据类型(如datainputstream、printwriter)
  
  要完成具体操作时,需要对流进行组装处理
  
  
  4、java的流不具备预读和缓冲功能,需要额外处理
  
  bufferinputstram对流进行缓冲处理;
  
  pushbackinputstream对流进行预读处理;
  
  
  5、randomaccessfile随机存取文件,这个类同时实现了datainput和dataoutput;
  
  
  6、文本流,即通过主机环境的工具,人眼能够辨别的文件内容
  
  由于windows的字串写入是ascii格式的,将unicode编码写进一个文本文件,用主机环境的工具,人眼无法辨别文件内容,java提供一套流过滤器弥补unicode编码和本机操作系统采用字符编码的裂缝。
  
  
  7、inputstreamreader 特殊的编码方案输入字节流转换为unicode字符;这个类采用主机默认编码,在windows中使用iso
  8859-1编码,即“asni”编码;
  
  outputstreamwriter 把unicode字符流转换为特殊的编码方案字节流
  
  
  8、filereader和filewriter
  
  对磁盘文件进行读写,已经弥补了unicode编码和本机编码的裂缝,可以直接使用
  
  
  9、写文本输出:
  
  二进制写入数据:dataoutputstream;
  
  文本格式写入数据:printwriter;
  
  读文本输入:
  
  二进制读入数据:datainputstream;
  
  文本格式读入数据:bufferreader;
  
  
  10、其他一些流
  
  如:zipinputstream和zipoutputstream
  
  对zip文件进行读写操作

扫描关注微信公众号