6月21日字符流
来源:互联网 发布:雷欧mac飞机 编辑:程序博客网 时间:2024/06/07 12:38
字符流
1字符流:为了处理文字数据方便而出现的对象。
其实这些对象的内部使用的还是字节流(因为文字最终也是字节数据)
只不过,通过字节流读取了相对应的字节数,没有对这些字节直接操作。
而是去查了指定的(本机默认的)编码表,获取到了对应的文字。
简单说:字符流就是:字节流+编码表。
2,BufferReader字符读取流缓冲区:
该缓冲区提供了一个一次读一行的方法readLine,方便于对文本数据的获取。当返回null时,表示读到文件末尾。
readLine方法返回的时候只返回回车符之前的数据内容。并不返回回车符
BufferWriter
该缓冲区中提供了一个跨平台的换行符。newLine();
3,打印流:
该流提供了打印方法,可以将各种数据类型的数据都原样打印。
字节打印流:
PrintStream
打印流有自己的PrintWriter.println();等方法。
把标准输入流写到文件中
4,转换流:
InputStreamReader isr= newInputStreamReader(new FileInputStream("a.txt"));
InputStreamReader isr= newInputStreamReader(new FileInputStream("a.txt"),"gbk");
FileReader fr= newFileReader("a.txt");
FileWriter fw= newFileWriter("b.txt");
OutputStreamWriter osw= newOutputStreamWriter(new FileOutputStream("b.txt"));
OutputStreamWriter osw= newOutputStreamWriter(new FileOutputStream("b.txt"),"gbk");
4,流操作的基本规律
1.明确源和目的。
源:输入流,InputStream和Reader;
目的:输出流,OutputStream和Writer
2.明确操作的数据是否是纯文本。
是:字符流
不是:字节流。
3.当体系明确后,再明确要使用哪个具体的对象。
通过设备来区分:
源设备:内存、硬盘、键盘
目的设备:内存、硬盘、控制台。
此外:如果需要提高效率,则换用对应的缓冲区。
如果需要指定编码,则换用对应的转换流。
System类中的setIn()、setOut()、setError()方法,可以改变标准输入流、输出流和错误输出流。
字符流缓冲区:BufferReader和BufferWriter
a.提高了对数据读写的效率。
b.必须结合流使用。
c.在流的基础上对流的功能进行了增强。
- 6月21日字符流
- 6月21日
- 会议记录(6月23日-7月21日)
- 2011年12月21日 指向字符的指针
- 6月21日日记
- 2006年6月21日
- 2007年6月21日 星期四
- 2017年6月21日
- 6月18日IO流
- 8月21日.
- 11月21日
- 7月21日
- 4月21日
- 11月21日
- 2月21日
- 3月21日
- 3月21日
- 11月21日
- 数据分析
- Cocos2d-x纹理优化的一些方案
- TFT中Vcom的作用
- linux thread 同步 操作 实例
- VMware vSphere 服务器虚拟化之十九 桌面虚拟化之初始化View链接服务器
- 6月21日字符流
- Xcode配置SVN详细步骤
- Android Service学习之本地服务
- 6月24日集合框架
- Ruby On Rails
- 在vss上上传已经存在的代码
- OPENCV学习第九章第一题
- 6月26日网络编程
- 给大家推荐《麦库记事》