字符流:

FileReader

FileWriter

BufferedReader

BufferedWriter

readLine();

字节流:

FileInputReader

FileOutputWriter

BufferedInputstream

BufferedOutputstream

read();

字节流转字符流:

InputStreamReader

字符流转字节流:

OutputStreamWriter

input  read是读入 从磁盘读到内存

output write是写出 从内存写到磁盘

Buffered****.read() 都是从内存中取数据,

FileReader.read(); 从硬盘上取数据

字符流的缓冲区

缓冲区的出现提高了对数据的读写效率

所以在创建缓冲区之前,必须要有流对象。

对应类

BufferedWriter

BufferedReader

缓冲区要结合流才可以使用。

在流的基础上对流的功能进行了增强。

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

其实关闭缓冲区,就是在关闭缓冲区中的流对象。

bufw.close();

字符串取流缓冲区:

该缓冲区提供了一个一次读一行的方法,readLine,方便与文本数据的获取。

当返回null时,表示读到文件末尾。

readLine 方法返回的时候只返回回车符之前的数据内容,并不返回回车符

readLine 方法的原理 无论是读一行,获取读取多个字符,其实最终都是在硬盘上以一个读取。所以最终使用的还是read方法,一次读一个方法。

字节流:

InputStream OutputStram

需求,想要操作图片数据。这时需要用到字节流

如果直接使用字节流,没有指定使用缓冲区的话,是不用刷新的。

Buffered****.read() 都是从内存中取数据,

FileReader.read(); 从硬盘上取数据

读取键盘录入。

System.out:对应的是标准输出设备,控制台。

System.in:对应的是标准输入设备,键盘

Ctrl+z 往里面加结束标志或Ctrl+c

获取键盘录入对象。

将字节流对象转成字符流对象,使用转换流InputStreamReader

为了提高效率,将字符串进行缓冲区技术高效操作,使用BufferedReader;

字符流底层用的也是字节流那个缓冲区

键盘最常见写法

BufferedReader a = new BufferedReader(new InputStreamReader(System.in));

将字符流对象对象转成字节流

OutputStreamWriter 是字符流通向字节流的桥梁:可使用指定的 charset 将要写入流中的字符编码成字节

BufferedWrite bufw = new BufferedWrite(new OutputStreamWriter(System.out));

Propertise a = System.getPropertise();获取系统属性。

log4j  异常日志处理软件

流操作的基本规律:

1 明确源和目的。

源:输入流 InputStream Reader

目的 :输出流 OutputStream Writer

2 操作的数据是否纯文本

是:字符流

不是:字节流

3 当体系明确后,在明确要使用哪个具体对象。

通过设备来区分。

源设备:内存,硬盘,键盘

目的设备:内存,硬盘,控制台。

记住,转化流什么时候用,字符与字节之间的桥梁,通常,涉及到字符编码转化时,

需要用到转化流

IO流 总结一的更多相关文章

  1. Java基础之IO流

    很长时间都没有更新了,最近在补充JavaSE的一些细节部分 关于IO流的一些总结 首先要介绍的是File类,File类用于对文件和目录的一些操作 1.创建文件CreateNewFile() 2.对文件 ...

  2. Java中IO流,输入输出流概述与总结

    总结的很粗糙,以后时间富裕了好好修改一下. 1:Java语言定义了许多类专门负责各种方式的输入或者输出,这些类都被放在java.io包中.其中, 所有输入流类都是抽象类InputStream(字节输入 ...

  3. Java:IO流与文件基础

    Java:IO流与文件基础 说明: 本章内容将会持续更新,大家可以关注一下并给我提供建议,谢谢啦. 走进流 什么是流 流:从源到目的地的字节的有序序列. 在Java中,可以从其中读取一个字节序列的对象 ...

  4. java IO流详解

    流的概念和作用 学习Java IO,不得不提到的就是JavaIO流. 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输 ...

  5. IO流总结

    IO流的作用:用于设备和设备之间的数据传输. IO流的概念:流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象. IO流的分类:  按照操作数据的类型分为两种: 字节流和字符流.  按 ...

  6. IO流

    流的概念和作用 学习JavaIO,不得不提到的就是JavaIO流. 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特 ...

  7. Java IO流学习总结

    Java流操作有关的类或接口: Java流类图结构: 流的概念和作用 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输 ...

  8. 揭开Java IO流中的flush()的神秘面纱

    大家在使用Java IO流中OutputStream.PrintWriter --时,会经常用到它的flush()方法. 与在网络硬件中缓存一样,流还可以在软件中得到缓存,即直接在Java代码中缓存. ...

  9. java IO流 之 其他流

    一.内存操作流(ByteArrayInputStream.ByteArrayOutputStream) (一).   public class ByteArrayInputStream extends ...

  10. java IO流 之 字符流

    字符是我们能读懂的一些文字和符号,但在计算机中存储的却是我们看不懂的byte 字节,那这就存在关于字符编码解码的问题.所以在学习Io流的字符流前我们先了解些关于编码问题. 一.字符集与字符编码 1.什 ...

随机推荐

  1. 青岛理工大学第五届ACM交流赛 部分题解

    A:后缀维护si*pi的最小值,查询的时候二分,判断后缀和当前两个部分就行. #include <bits/stdc++.h> using namespace std; typedef l ...

  2. 【转】雪崩光电二极管(APD)偏置电源及其电流监测

    摘要:本文提供的参考设计用于实现APD偏置电源及其电流监测.基于MAX15031 DC-DC转换器,该电路能够将2.7V至11V范围的输入电压经过DC-DC电源转换器后得到一个70V.4mA电源. 下 ...

  3. git学习笔记01-git最基本的工作原理分布式

    git学习的网站 http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000  --廖雪峰老师 ...

  4. TCP三次握手及四次挥手详细 转

    一.TCP报文格式        TCP/IP协议的详细信息参看<TCP/IP协议详解>三卷本.下面是TCP报文格式图: 图1 TCP报文格式 上图中有几个字段需要重点介绍下:      ...

  5. 这只是一篇用Markdown写的随记,就是熟悉熟悉MarkDown而已

    这几天的随想 今天是八月十一号了,来到公司实习已经第八天了,包块周末的话就是十二天了,我在这十二天里干了什么,转眼半个月就过去了 马上就要开学了,这个暑假干了些什么,单词单词也没背多少,之前七月回家有 ...

  6. ZOJ-2338 The Towers of Hanoi Revisited 输出汉诺塔的最优解移动过程

    题意:给定N(1<= N <=64)个盘子和M(4<= M <= 65)根柱子,问把N个盘子从1号柱子移动到M号柱子所需要的最少步数,并且输出移动过程. 分析:设f[i][j] ...

  7. iOS - UILabel

    前言 NS_CLASS_AVAILABLE_IOS(2_0) @interface UILabel : UIView <NSCoding> @available(iOS 2.0, *) p ...

  8. 图片在父元素中上下居中(vertical-align的有效性)

    在实际的使用中,会遇到img上下居中的问题: 1.一般情况下,将其放置在table中:可以自动的上下居中.   2.另外一种情况<即一般情况下> 以li中为例子:在无序列表中 li元素下的 ...

  9. QQ游戏_相关

    1. 侍魂: 1.1. ...\QQGame ...\QQGame\samsho2 1.2. C:\Users\xx\AppData\Roaming\Tencent\QQGAME\Download C ...

  10. [转载] 文件系统vs对象存储——选型和趋势

    原文: http://www.testlab.com.cn/Index/article/id/1082.html#rd?sukey=fc78a68049a14bb2699b479d5e730f6f45 ...