A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘宏庆 黑马帝   /  2011-7-25 13:28  /  1935 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在java遇到了这样一个语句:FileInputStream in=null;
FileOutputStream out=null;
这两个语名中FileInputStream,FileOutputStream分别代表什么?起什么作用
最重要的是,它们是如何交流的,是线程吗?最好结合jvm详细点,API文档解释就算了,我也可以回答你了

4 个回复

倒序浏览
黑马网友  发表于 2011-7-25 13:36:19
沙发
这是一对继承于InputStream和OutputStream的类,用于本地文件读写(二进制格式读写并且是顺序读写,读和写要分别创建出不同的文件流对象);

本地文件读写编程的基本过程为:
1、  生成文件流对象(对文件读操作时应该为FileInputStream类,而文件写应该为FileOutputStream类);
2、 调用FileInputStream或FileOutputStream类中的功能函数如read()、write(int b)等)读写文件内容;
3、  关闭文件(close())。
回复 使用道具 举报
黑马网友  发表于 2011-7-25 14:41:32
藤椅
FileInputStream  FileOutputStream 可以看作从程序伸出一条管道放在文件准备写和读取数据
回复 使用道具 举报
IO有四个基础的抽象流类 分别是 InputStream OutputStream reader writer 而其他流都是来自与这四个流的
子类并实现了一些父类的一些方法.你所说的FileInputStream , FileOutputStream 是来自于InputStream OutputStream 的俩个子类主要是用来对文件进行读写的 通常定义一个数组然后 用FileInputStream 关联一个文件在来从文件中读取数据放在数组中.
在用 FileOutputStream来关联一个文件 来把 数组中的内容写道其关联的文件中去
[ 本帖最后由 包志恒 于 2011-07-25  14:44 编辑 ]
回复 使用道具 举报
黑马网友  发表于 2011-7-25 15:08:40
报纸

回复 楼主 的帖子

InputStream 输入流(键盘,文件,网络)只提供基本的字节服务
InputStreamReader可以提供面向字符的服务
BufferedReader 提供面向串的服务
BufferedReader  br = new BufferedReader(new  InputStreamReader(System.in)));
Outputstream输出流
IO的层次
   Reader
              BufferedReader  提供读一行
       InputStreamReader   提供读字符而非字节
       FileReader  直接使用文件名,无需组合
  Writer
              BufferedWriter
             OutputStreamWriter
                      FileWriter直接使用文件名,无需组合
       PrintWriter  如屏幕输出一样方便
File
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马