分享

JAVA IO操作

 梨惠子 2014-11-26

流的分类:

从不同的角度对流进行分类:

1、处理的数据单位不同,分为:字符流 字节流

2、数据流方向不同,可分为:输入流,输出流

3、功能不同,分为:节点流,处理流

 

处理的数据单位:

http://img.blog.csdn.net/20140326190712046?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaGVqaW5neXVhbjY=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast

字节流byte streams

字节流是执行基于8位字节的输入和输出,一次读写一节的数据。字节流是I/O的最底层流技术。如果你正阅读或者写入字符数据的最佳方法是使用字符流,其他流建立在字节之上

字符流 character streams

字符流是执行基于16位字节(即两字节)的输入和输出,它一次读写一个字符(两个字节)的数据。所有的字符流类都是从ReaderWriter两个类延伸下来的,我们可以使用FileReaderFileWriter类进行读写I/O文件

 

功能分类:

节点流:

http://img.blog.csdn.net/20140326182602343

从一个特定的数据源读写数据,节点流是直接操作文件,网络的流。如FileInputStreamFileOutputStream,他们直接从文件中读取或往文件中写入字节流。

处理流:

http://img.blog.csdn.net/20140326182637078?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaGVqaW5neXVhbjY=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast

“连接”在已存在的流(节点流或处理流)之上通过对数据的处理为程序提供更为强大的读写功能。过滤流是使用一个已经存在的输入流或输出流连接创建的,过 滤流就是对节点流进行一系列的包装。例如BufferedInputStreamBufferedOutputStream,使用已经存在的节点流来构 造,提供带缓冲的读写,提高了读写的效率,以及DataInputStreamDataOutputStream,使用已经存在的节点流来构造,提供了 读写Java中的基本数据类型的功能。他们都属于过滤流。

 

Buffered缓冲流:

BufferedInputStreamBufferedOutputStreamBufferedReader,BufferedWriter,是带缓冲区的处理流。

缓冲流的作用:

    避免每次跟磁盘打交道,提高数据的访问效率。(提高流的操作率),所以在缓冲区之前必须要有流对象。

利用缓冲区技术字符流读取操作。(BufferedReader 步骤:

1,定义流对象与被读取文件相关联FileReader fr=new FileReader("f:\\1.txt");

2,定义缓冲区,把流对象作为参数放进缓冲区:

BufferedReader br=new BufferedReader(fr);
3
,利用while循环,一行一行的读取(br.readLine();此处返回类型是一个String,如果返回为null说明已读取到末尾处)
           String  len=null;
           while((len=br.readLine())!=null){
               System.out.println("
读出了:"+len);

}

4,最后关闭资源。

 

readLine原理:

 

    无论是读一行,获取多个字符,最终都是从硬盘上一个一个的读取,都是使用read方法中一次读取一个字符的方法。readLine中封装了数组,每读一个就放在缓冲区中(不立即返回),当读到\r\n时,表示读取一行结束,因此此时就返回一行数据。

总结:

    流是一个很形象的概念,当程序需要读取数据的时候,就会开启一个通向数据源的流,这个数据源可以是文件,内存,或是网络连接。类似的,当程序需要写入数据的时候,就会开启一个通向目的地的流。

 

 

 

 

 

 

 

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多