欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java IO 小结 博客分类: java语言相关 Java

程序员文章站 2024-02-22 08:15:52
...

经常有下面的写法,指定文件名和编码,读取文件

 

      new BufferedReader(new InputStreamReader(new FileInputStream(new File("file")), "GBK"));
       

 

简化一下也就是  文件--比特(byte)流--包装成字符(char)--包装成缓冲

 

 

new BufferedReader(new Reader(new InputStream( new File("file")), "UTF-8"));
 

 

InputStream是基于文件或者网络之类的得到的

Reader是包装了这个InputStream

Buffered就是再包装了一下

 

Stream是内容,Reader,Buffered之类的是基于内容的服务!

 

  • 关键点1是原始的Stream是从哪里来的??? 文件?网络?
  • 关键点2是在打开Stream时候可以指定编码,指定流内容的编码帮助java解码从而将流中的数据从Byte变成Char,char是unicode
  • 关键点3 java提供的io相关的api虽然有很多的类,但是大多是基于接口的和抽象类调用的。理清楚InputStream,OutputStream和Reader,Writer之间的关系对如何使用API很有帮助

 

 

 

相关标签: Java