IO流总结
来源:互联网 发布:深圳远望数码 淘宝 编辑:程序博客网 时间:2024/05/21 06:56
流、缓冲区、转换流都是流体系中的
流操作的基本规律:
通过三个明确来完成
1,明确源和目的。
源: 输入流(读取流) InputStream、 Reader
目的:输出流(写入流) OutputStream、Writer
2,操作的数据是否是纯文本?
是, 字符流。
不是,字节流。
3,当体系明确后,在明确要使用哪个具体的对象
通过设备来进行区分:
源设备: 内存,硬盘,键盘
目的设备:内存,硬盘,控制台
举例:将一个纯文本文件中的数据储存到另一个文件中(复制文件)
1,源:因为是源,所以使用读取流 InputStream、Reader
是不是操作文本?是,所以用Reader
体系明确后,明确具体使用那个对象
设备:硬盘,上一个文件
Reader体系中可以操作文本文件的对象是FileReader
代码:【是不是提高读取效率?是,使用BufferedReader缓冲区】
FileReader fr = new FileReader("C:\\java.txt");
BufferedReader bufr = new BufferedReader(fr);
2,目的:OutputStream、Writer
是不是操作纯文本?是,所以用Writer
设备:硬盘,上一个纯文本文件
Writer体系中可以操作文本文件的对象是FileWriter
代码:【是不是提高读取效率?是,使用BufferedReader缓冲区】
FileWriter fw = new FileWriter("D:\\java_copy.txt");
BufferedWriter bufw = new BufferedWriter(fw);
以上分析完成后;
就一顿疯狂的循环读写,完成数据的传递 bufr.readLine() bufw.write();
最后就是关闭资源 bufr.close(); bufw.close();
BufferedReader有readLine()方法,读一行
BufferedWriter有newLine()方法,换行
读取转换流:字节读取流——>字符读取流对象(转换的目的是【提高数据读取效率】和【编码问题】)
InputStreamReader 是字节流通向字符流的桥梁
InputStreamReader isr = new InputStreamReader(字节读取流对象,编码表);
为了使用字符流(Reader)中的BufferedReader子类(装饰类)的readLine()方法。
写入转换流:字符写入流对象——>字节写入流对象(转换的目的是【编码问题】)
OutputStreamWriter 是字符流通向字节流的桥梁
OutputStreamWriter osw = new OutputStreamWriter(字节写入流对象,编码表);
所以记住,转换流什么时候使用,通常涉及到字符编码转换时,
需要使用到转换流。
其实,流的使用都是以字节流为核心来扩展的,字符流只是用来提高读写的效率的,而源和目的都是字节流的操作问题,
读取的是字节流,写入的如果涉及编码问题,需将字符流转为字节流,才可以设定编码表。默认的是GBK。
static PrintStream out “标准”输出流。 【字节流】
static InputStream in “标准”输入流。 【字节流】
流操作的基本规律:
通过三个明确来完成
1,明确源和目的。
源: 输入流(读取流) InputStream、 Reader
目的:输出流(写入流) OutputStream、Writer
2,操作的数据是否是纯文本?
是, 字符流。
不是,字节流。
3,当体系明确后,在明确要使用哪个具体的对象
通过设备来进行区分:
源设备: 内存,硬盘,键盘
目的设备:内存,硬盘,控制台
举例:将一个纯文本文件中的数据储存到另一个文件中(复制文件)
1,源:因为是源,所以使用读取流 InputStream、Reader
是不是操作文本?是,所以用Reader
体系明确后,明确具体使用那个对象
设备:硬盘,上一个文件
Reader体系中可以操作文本文件的对象是FileReader
代码:【是不是提高读取效率?是,使用BufferedReader缓冲区】
FileReader fr = new FileReader("C:\\java.txt");
BufferedReader bufr = new BufferedReader(fr);
2,目的:OutputStream、Writer
是不是操作纯文本?是,所以用Writer
设备:硬盘,上一个纯文本文件
Writer体系中可以操作文本文件的对象是FileWriter
代码:【是不是提高读取效率?是,使用BufferedReader缓冲区】
FileWriter fw = new FileWriter("D:\\java_copy.txt");
BufferedWriter bufw = new BufferedWriter(fw);
以上分析完成后;
就一顿疯狂的循环读写,完成数据的传递 bufr.readLine() bufw.write();
最后就是关闭资源 bufr.close(); bufw.close();
BufferedReader有readLine()方法,读一行
BufferedWriter有newLine()方法,换行
读取转换流:字节读取流——>字符读取流对象(转换的目的是【提高数据读取效率】和【编码问题】)
InputStreamReader 是字节流通向字符流的桥梁
InputStreamReader isr = new InputStreamReader(字节读取流对象,编码表);
为了使用字符流(Reader)中的BufferedReader子类(装饰类)的readLine()方法。
写入转换流:字符写入流对象——>字节写入流对象(转换的目的是【编码问题】)
OutputStreamWriter 是字符流通向字节流的桥梁
OutputStreamWriter osw = new OutputStreamWriter(字节写入流对象,编码表);
所以记住,转换流什么时候使用,通常涉及到字符编码转换时,
需要使用到转换流。
其实,流的使用都是以字节流为核心来扩展的,字符流只是用来提高读写的效率的,而源和目的都是字节流的操作问题,
读取的是字节流,写入的如果涉及编码问题,需将字符流转为字节流,才可以设定编码表。默认的是GBK。
static PrintStream out “标准”输出流。 【字节流】
static InputStream in “标准”输入流。 【字节流】
- io流整体总结
- java io流总结
- IO流总结
- IO流总结
- java IO流总结
- IO流学习总结
- Java IO流总结
- IO流的总结
- java io流总结
- IO流总结之一
- java IO流总结
- JAVA io 流总结
- java IO流总结
- IO流总结
- IO流总结
- IO流总结3
- IO流总结
- IO流总结
- Gem/Bundle/Rvm
- 利用STK进行卫星星际链路分析
- how vc convert LR LF to LR
- 在ubuntu13.04中使用vsftpd搭建FTP服务器
- Android中Timer计时器详解
- IO流总结
- C++技巧 :C#和C++结构体Socket通信
- eclipse工具使用总结(java,android配置等)
- 如何查看苹果计算机开器了哪些系统
- AndroidIntent应用,打开网页,安装程序,打电话,打开地图等功能 .
- 深入java虚拟机(二)——类的生命周期(上)类的加载和连接
- C++多线程SOCKET通信研究日志
- WD MyBook Live安装SVN
- MapReduce模型的简单理解