IO流 总结一
字符流:
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流 总结一的更多相关文章
- Java基础之IO流
很长时间都没有更新了,最近在补充JavaSE的一些细节部分 关于IO流的一些总结 首先要介绍的是File类,File类用于对文件和目录的一些操作 1.创建文件CreateNewFile() 2.对文件 ...
- Java中IO流,输入输出流概述与总结
总结的很粗糙,以后时间富裕了好好修改一下. 1:Java语言定义了许多类专门负责各种方式的输入或者输出,这些类都被放在java.io包中.其中, 所有输入流类都是抽象类InputStream(字节输入 ...
- Java:IO流与文件基础
Java:IO流与文件基础 说明: 本章内容将会持续更新,大家可以关注一下并给我提供建议,谢谢啦. 走进流 什么是流 流:从源到目的地的字节的有序序列. 在Java中,可以从其中读取一个字节序列的对象 ...
- java IO流详解
流的概念和作用 学习Java IO,不得不提到的就是JavaIO流. 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输 ...
- IO流总结
IO流的作用:用于设备和设备之间的数据传输. IO流的概念:流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象. IO流的分类: 按照操作数据的类型分为两种: 字节流和字符流. 按 ...
- IO流
流的概念和作用 学习JavaIO,不得不提到的就是JavaIO流. 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特 ...
- Java IO流学习总结
Java流操作有关的类或接口: Java流类图结构: 流的概念和作用 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输 ...
- 揭开Java IO流中的flush()的神秘面纱
大家在使用Java IO流中OutputStream.PrintWriter --时,会经常用到它的flush()方法. 与在网络硬件中缓存一样,流还可以在软件中得到缓存,即直接在Java代码中缓存. ...
- java IO流 之 其他流
一.内存操作流(ByteArrayInputStream.ByteArrayOutputStream) (一). public class ByteArrayInputStream extends ...
- java IO流 之 字符流
字符是我们能读懂的一些文字和符号,但在计算机中存储的却是我们看不懂的byte 字节,那这就存在关于字符编码解码的问题.所以在学习Io流的字符流前我们先了解些关于编码问题. 一.字符集与字符编码 1.什 ...
随机推荐
- Dede CMS 5.5 升级到 5.7 SP1
Dede CMS 5.5 的漏洞实在是太多了,三天两头被Hacker们挂马.话说挂这些破网址真的能带来丰厚的回报吗?做人要厚道啊. 闲话少说,我按照网上的升级到5.5升级到5.7不出错的方法,升级 ...
- 使用xml来显示获取的mysql数据
mysql test -u test -X -e 'select * from employees where empid = 1' 其中 -X 就是以xml形式显示
- Ext.net 异常统一管理,铥掉可恶的 Request Failure
Ext.net 异常统一管理,铥掉可恶的 Request Failure 看着这样的框框是不是很不爽 灭他.也不难.. .如果全部页面都有继承一个自定义的父类 ..那整个项目代码量就只有几行了.. 单 ...
- ZOJ-2338 The Towers of Hanoi Revisited 输出汉诺塔的最优解移动过程
题意:给定N(1<= N <=64)个盘子和M(4<= M <= 65)根柱子,问把N个盘子从1号柱子移动到M号柱子所需要的最少步数,并且输出移动过程. 分析:设f[i][j] ...
- sql for xml 嵌套
找很久.原来差一个ELEMENTS 关键字. 想到哪里插入子节点.就直接写一条语句,加一个ELEMENTS. 为什么baidu这么就都找不到.到处都是转来转去的东西.郁闷. select h.*,(s ...
- [转载] 单表60亿记录等大数据场景的MySQL优化和运维之道 | 高可用架构
原文: http://mp.weixin.qq.com/s?__biz=MzAwMDU1MTE1OQ==&mid=209406532&idx=1&sn=2e9b0cc02bdd ...
- poj3525Most Distant Point from the Sea(半平面交)
链接 求凸多边形内一点距离边最远. 做法:二分+半平面交判定. 二分距离,每次让每条边向内推进d,用半平面交判定一下是否有核. 本想自己写一个向内推进..仔细一看发现自己的平面交模板上自带.. #in ...
- ORACLE性能优化之SQL语句优化
版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] 操作环境:AIX +11g+PLSQL 包含以下内容: 1. SQL语句执行过程 2. 优化器及执行计划 3. 合 ...
- Java数组实现五子棋功能
package ch4; import java.io.*; /** * Created by Jiqing on 2016/11/9. */ public class Gobang { // 定义棋 ...
- ssh批量登录并执行命令(python实现)
局域网内有一百多台电脑,全部都是linux操作系统,所有电脑配置相同,系统完全相同(包括用户名和密码),ip地址是自动分配的.现在有个任务是在这些电脑上执行某些命令,者说进行某些操作,比如安装某些软件 ...