黑马程序员技术交流社区

标题: java中IO中的问题? [打印本页]

作者: 刘宏庆    时间: 2011-7-25 13:28
标题: java中IO中的问题?
在java遇到了这样一个语句:FileInputStream in=null;
FileOutputStream out=null;
这两个语名中FileInputStream,FileOutputStream分别代表什么?起什么作用
最重要的是,它们是如何交流的,是线程吗?最好结合jvm详细点,API文档解释就算了,我也可以回答你了
作者: 匿名    时间: 2011-7-25 13:36
这是一对继承于InputStream和OutputStream的类,用于本地文件读写(二进制格式读写并且是顺序读写,读和写要分别创建出不同的文件流对象);

本地文件读写编程的基本过程为:
1、  生成文件流对象(对文件读操作时应该为FileInputStream类,而文件写应该为FileOutputStream类);
2、 调用FileInputStream或FileOutputStream类中的功能函数如read()、write(int b)等)读写文件内容;
3、  关闭文件(close())。
作者: 匿名    时间: 2011-7-25 14:41
FileInputStream  FileOutputStream 可以看作从程序伸出一条管道放在文件准备写和读取数据
作者: 包志恒    时间: 2011-7-25 14:43
IO有四个基础的抽象流类 分别是 InputStream OutputStream reader writer 而其他流都是来自与这四个流的
子类并实现了一些父类的一些方法.你所说的FileInputStream , FileOutputStream 是来自于InputStream OutputStream 的俩个子类主要是用来对文件进行读写的 通常定义一个数组然后 用FileInputStream 关联一个文件在来从文件中读取数据放在数组中.
在用 FileOutputStream来关联一个文件 来把 数组中的内容写道其关联的文件中去
[ 本帖最后由 包志恒 于 2011-07-25  14:44 编辑 ]
作者: 匿名    时间: 2011-7-25 15:08
标题: 回复 楼主 的帖子
InputStream 输入流(键盘,文件,网络)只提供基本的字节服务
InputStreamReader可以提供面向字符的服务
BufferedReader 提供面向串的服务
BufferedReader  br = new BufferedReader(new  InputStreamReader(System.in)));
Outputstream输出流
IO的层次
   Reader
              BufferedReader  提供读一行
       InputStreamReader   提供读字符而非字节
       FileReader  直接使用文件名,无需组合
  Writer
              BufferedWriter
             OutputStreamWriter
                      FileWriter直接使用文件名,无需组合
       PrintWriter  如屏幕输出一样方便
File




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2