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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 杨增坤 金牌黑马   /  2013-7-20 19:11  /  1109 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

InputStream
FileInputStream:读取文件
PrintStream:可以读取文件,也可以读取键盘输入的信息。
OutputStream:
FileOutStream:向文件中写入数据
Reader
FileReader:可以读取文件
InputStreamReader:也可以读取文件,和读取键盘的录入的数据
将字节流转换成字符流
Writer
FileWriter:向文件中写入信息
OutputStreamWriter:字符流转换字节流,


请大家帮忙看一下,这些总结,希望能给出更详细和更宝贵的建议,我主要是有点迷糊,主要是键盘的读取和写入,还有文件的读取和写入之间有没有明显的分割和之间的联系。

评分

参与人数 1技术分 +1 收起 理由
杜光 + 1 每天提问并回答问题,是对知识的复习和积累.

查看全部评分

5 个回复

倒序浏览
字节流:
InputStream
BufferedInputStream
FileInputStream

OutputStream
BufferedOutputStream
FileOutputStream


字符流:

BufferedReader
FileReader
InputStreamReader
  
BufferedWriter
FileWriter
OutputStreamWriter



PrintWriter (字节流和字符流都可以接收)

字节流的单词都带InputStream和OutputStream
字符流的单词都带有Reader和Writer

评分

参与人数 1技术分 +1 收起 理由
杨兴庭 + 1 赞一个!

查看全部评分

回复 使用道具 举报
本帖最后由 forward 于 2013-7-21 10:54 编辑

  流操作规律:
把文件内容读到另一个文件中
把文件内容读到控制台上
把控制台内容读到文件中,
把控制台内容读到控制台上
其实都是源和目的不一样
读取方式:
BufferedReader buf=new BufferedReader(newInputStreamReader(System.in)); 这源是:控制台
BufferedReader buf=new BufferedReader(newInputStreamReader(new FileInputStream(new File(“文件路径”))));//这源是:文件
写入方式:
BufferedWriter bufW=new BufferedWriter(new OutputStreamWriter(System.out));//这目的是:控制台
BufferedWriter bufW=new BufferedWriter(new OutputStreamWriter(newFileOutputStream(new File(“文件路径”))));//这目的是文件
自我总结:
  
源:
  
要是源是控制台的话,直接用InputStream接受,此时System.in字段返回的是InputStream这合适。
  
          要是源是文件的话,那么就要用InputStream的子类FileInputStram类来指定。
  
目的:
  
要是目的是文件的话,OutputStream的子类FileOutStream来指定路径
  
要是目的是控制台的话,那么用System.out来指定,返回值是PrintStream,是OutputStream的子类FileterOutStream的子类PrintStream。
  
  
不管是源和目的,只要是控制台都是用字段来指定,System.inSystem.out
  
不管源和目的,只要是文件的话,都是用类来指定(构造函数的参数)
大家对着有没有建议,大家可以能给出能通俗易懂的解释,理解使我们更能清晰!

评分

参与人数 1技术分 +1 收起 理由
杨兴庭 + 1 赞一个!

查看全部评分

回复 使用道具 举报
老毕视频讲的很详细的哦。。。。
回复 使用道具 举报
杨兴庭 发表于 2013-7-21 12:27
老毕视频讲的很详细的哦。。。。

嗯,我看到了!谢谢!
回复 使用道具 举报
该问题已经解决,谢谢回复
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马