文档章节

IO流

心猿bug
 心猿bug
发布于 2017/05/01 16:16
字数 557
阅读 4
收藏 0
  • 流的分类:

                在Java设计中,应当站在应用程序角度来看:将数据从读取,即为输入流;将数据写入到目的地,即为输出流。

                 字节流:   输入(InputStream)、输出(OutputStream);   处理基本单位为字节的流

                 字符流:输入(Reader)、输出(Writer);           处理基本单位为字符的流

  • 转换流:

             InputStreamReader是字符流和字节流的桥梁,可以将输入字节流转换成字符流,并且转换成指定的编码方式,解决了字符流乱码的问题。

键盘录入:BufferedStreamReader br= new BufferedStreamReader(new InputStreamRear(system.in)

            OutputStreamWriter将输出字符流转换成字节流,可以指定编码方式。

控制台BufferedStreamWriter bw=new BufferedStreamWriter(new OutputStreamWriter(system.out)

  • File类:

                    是一个对文件及其目录操作的类。

      separator();   名称分隔符,    pathSeparator();路径分隔符。

  • 缓冲区:

            BufferedWrite: 该缓冲区提供了一个跨平台的newLine();方法(换行符);

            BufferedReader:提供了一个一次读一行的方法  readLine();

                    注:关闭缓冲区就是关闭缓冲区中的流对象,因此不需要再去关闭流对象了

             加了缓冲区后,每次在写入完数据被存储在缓冲区里,因此需要flush() 来刷新,最后要close()关闭流对象。

               二者区别:flush( )刷新后,还可以继续通过流写入,但是close()关闭前会先刷新,在关闭后无法再写入

  字节流与字符流读取时的区别:

               字节流是一个字节一个字节的来读,因此read()返回值是int型,返回值是否是-1可以用来判断是不是读到另外末尾处

             字符流是一行一行的来读,以此返回的是String型的,返回值是否是null;是判断是否读到了末尾

  • 如何使用好流(Stream)的小技巧:

1.明确是输入流  选InputStream     Reader

2.明确是否是纯文本文件?  是的话,选用Reader

3.明确是否要提高效率?是的话,选用BufferedReader

4.与之对应的操作文件的流有  FileInputStream、FileReader

5.涉及到字符流与字节流的转换时,立马想到InputSreamReader、OutputStreamWriter

                  输出流与其对应理解选择即可。。。

 

© 著作权归作者所有

上一篇: 网络通信
心猿bug
粉丝 3
博文 25
码字总数 15343
作品 0
平凉
私信 提问

暂无文章

计算机网络

计算机网络体系结构 OSI 其中表示层和会话层用途如下: 表示层 :数据压缩、加密以及数据描述,这使得应用程序不必关心在各台主机中数据内部格式不同的问题。 会话层 :建立及管理会话。 五层...

一只小青蛙
今天
2
0
0.01-Win10安装linux子系统

一、安装Debian子系统 -1、控制面板设置: -1.1、打开“控制面板” —— “程序” —— “启用或关闭Windows功能” —— 勾选 “适用于Linux的Windows子系统” -2、设置: -2.1、打开“设置”...

静以修身2025
昨天
2
0
init 0-6 (启动级别:init 0,1,2,3,4,5,6)

启动级别: init 0,1,2,3,4,5,6 这是个很久的知识点了,只是自己一直都迷迷糊糊的,今天在翻出来好好理解下。。 0: 停机 1:单用户形式,只root进行维护 2:多用户,不能使用net file system...

圣洁之子
昨天
2
0
Android Camera HAL浅析

1、Camera成像原理介绍 Camera工作流程图 Camera的成像原理可以简单概括如下: 景物(SCENE)通过镜头(LENS)生成的光学图像投射到图像传感器(Sensor)表面上,然后转为电信号,经过A/D(模数转...

天王盖地虎626
昨天
2
0
聊聊Elasticsearch的ProcessProbe

序 本文主要研究一下Elasticsearch的ProcessProbe ProcessProbe elasticsearch-7.0.1/server/src/main/java/org/elasticsearch/monitor/process/ProcessProbe.java public class ProcessProb......

go4it
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部