本帖最后由 张振纲 于 2012-8-11 20:36 编辑
我们都知道IO流分为字节流和字符流
假设我们需要拷贝一个文本文件
在不利用缓冲技术下,字节流是读取一个字节,然后写入一个字节,直接输出并不需要刷新流
那么字节流的缓冲区的具体过程是将数据从硬盘读出,放入内存,然后存储到另一片内存然后再输出吗?
那字符流具体又是什么流程呢?
还有,Reader 类中read方法会返回一个整数
我们通过这个整数就可以将数据写入流中,这个整数代表的是什么?
带着疑问我写了这样一段代码,来研究到底返回的INT是什么- import java.io.*;
- class Fuzhi
- {
- public static void main(String[] args) throws IOException
- {
- FileInputStream fis = new FileInputStream("MapTest.java");
- FileOutputStream fos = new FileOutputStream("333.java");
- int num = 0;
- while ((num=fis.read())!=-1)
- {
- System.out.print((char)num);
- fos.write(num);
- }
- }
- }
复制代码
通过这段代码就很明显的说明read返回的int值就是数据
是被提升类INT类型的二进制数据
然后再WRITE时转换回去
哈哈,问题解决了 |
|