学习笔记之面向对象编程20(处理流、缓冲流、转换流)
2017-09-21 09:12
337 查看
(一)处理流
Buffering:字符型<BufferedReader、BufferedWriter>,字节型<BufferedInputStream、BufferedOutputStream>
Filtering:字符型<FilterReader、FilterWriter>,字节型<FilterInputStream、FilterOutputStream>
Converting between bytes and character:字符型<InputStreamReader、OutputStreamWriter>
Counting:字符型<LineNumberReader>,字节型<LineNumberInputStream>
peeking ahead:字符型<PusbackRead>,字节型<PushbackInputStream>
Printing:字符型<PrintWriter>,字节型<PrintStream>
(二)缓冲流
缓冲流要“套接”在相应的节点流上,对读写的数据提供了缓冲的功能,提高了读写的效率,同时增加了一些新的方法。
四种缓冲林,其常用的构造方法:
BufferedReader(Reader in)
BufferedReader(Reader in,int sz)
BufferedWriter(Writer out)
BufferedWriter(Writer out, int sz)
BufferedInputStream(InputStream in ,int size)
BufferedInputStream(intputStream in)
BufferedOutputStream(OutputStream in ,int size)
BufferedOutputStream(OuttputStream in)
缓冲输入流支持其父类的mark和reset方法;
BufferedReader提供了ReaderLine方法用于读取一行字符串(以\r或\n分隔)
BufferedWriter提供了newLine用于写入一个行分隔符
对于输出的缓冲流,写出的数据会现在内存中缓存,使用flush方法将会使内存中的数据立刻写出。
(三)转换流
InputStreamReader和OutputStreamWriter用于字节数据到字符数据之间的转换
InputStreamReader需要和InputStream“套接”
OutputStreamWriter需要和OutputStream“套接”
转换流在构造时可以指定其编码集合
举例:
import java.io.*;
public class TestTransForm2 {
public static void main(String[] args){
InputStreamReader s1 = new InputStreamReader(System.in);
BufferedReader s2 = new BufferedReader(s1);
String s = null;
try{
s=s2.readLine();
while(s!=null){
if(s.equalsIgnoreCase("exit"))break;
System.out.println(s.toUpperCase());
s=s2.readLine();
}
s2.close();
}catch(IOException e){
e.printStackTrace();
}
}
}
Buffering:字符型<BufferedReader、BufferedWriter>,字节型<BufferedInputStream、BufferedOutputStream>
Filtering:字符型<FilterReader、FilterWriter>,字节型<FilterInputStream、FilterOutputStream>
Converting between bytes and character:字符型<InputStreamReader、OutputStreamWriter>
Counting:字符型<LineNumberReader>,字节型<LineNumberInputStream>
peeking ahead:字符型<PusbackRead>,字节型<PushbackInputStream>
Printing:字符型<PrintWriter>,字节型<PrintStream>
(二)缓冲流
缓冲流要“套接”在相应的节点流上,对读写的数据提供了缓冲的功能,提高了读写的效率,同时增加了一些新的方法。
四种缓冲林,其常用的构造方法:
BufferedReader(Reader in)
BufferedReader(Reader in,int sz)
BufferedWriter(Writer out)
BufferedWriter(Writer out, int sz)
BufferedInputStream(InputStream in ,int size)
BufferedInputStream(intputStream in)
BufferedOutputStream(OutputStream in ,int size)
BufferedOutputStream(OuttputStream in)
缓冲输入流支持其父类的mark和reset方法;
BufferedReader提供了ReaderLine方法用于读取一行字符串(以\r或\n分隔)
BufferedWriter提供了newLine用于写入一个行分隔符
对于输出的缓冲流,写出的数据会现在内存中缓存,使用flush方法将会使内存中的数据立刻写出。
(三)转换流
InputStreamReader和OutputStreamWriter用于字节数据到字符数据之间的转换
InputStreamReader需要和InputStream“套接”
OutputStreamWriter需要和OutputStream“套接”
转换流在构造时可以指定其编码集合
举例:
import java.io.*;
public class TestTransForm2 {
public static void main(String[] args){
InputStreamReader s1 = new InputStreamReader(System.in);
BufferedReader s2 = new BufferedReader(s1);
String s = null;
try{
s=s2.readLine();
while(s!=null){
if(s.equalsIgnoreCase("exit"))break;
System.out.println(s.toUpperCase());
s=s2.readLine();
}
s2.close();
}catch(IOException e){
e.printStackTrace();
}
}
}
相关文章推荐
- springmvc学习笔记(20)——CRUD之删除 & 静态资源处理
- 精通Visual C++图像编程之位图颜色处理(学习笔记)
- Linux学习笔记——Linux常用命令—权限处理命令
- Java之异常处理学习笔记
- 学习笔记——Maven 如何处理传递性依赖
- ABAP学习笔记--处理字符串1
- C++学习序列笔记之数据处理(复合类型)
- JavaWeb学习笔记-mybatis-12-mybatis配置-类型处理typeHandlers
- 关于SQLServer2005的学习笔记——XML的处理
- 学习笔记之字符和字符串处理
- Java-马士兵设计模式学习笔记-责任链模式-处理数据
- 你不知道的Java学习笔记20-- 多线程编程
- Android(java)学习笔记82:我们到底该如何处理异常?
- html学习笔记(1)--处理特殊字符以及其他的一些小细节
- javascript学习笔记之事件和事件处理
- (原创)c#学习笔记08--面向对象编程简介02--OOP技术02--继承
- C#面向对象设计模式纵横谈 学习笔记20 Chain of Responsibility职责链模式(行为型模式)
- Python OpenCV学习笔记之:图像梯度处理:Laplacian,Sobel算子
- 黑马程序员_学习笔记20_Server
- 【转】matlab图像处理学习笔记-数学形态与二值图像操