黑马程序员技术交流社区

标题: 请指点文件和键盘的读取和写入 [打印本页]

作者: 杨增坤    时间: 2013-7-20 19:11
标题: 请指点文件和键盘的读取和写入
InputStream
FileInputStream:读取文件
PrintStream:可以读取文件,也可以读取键盘输入的信息。
OutputStream:
FileOutStream:向文件中写入数据
Reader
FileReader:可以读取文件
InputStreamReader:也可以读取文件,和读取键盘的录入的数据
将字节流转换成字符流
Writer
FileWriter:向文件中写入信息
OutputStreamWriter:字符流转换字节流,


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

作者: 杜光    时间: 2013-7-21 09:00
字节流:
InputStream
BufferedInputStream
FileInputStream

OutputStream
BufferedOutputStream
FileOutputStream


字符流:

BufferedReader
FileReader
InputStreamReader
  
BufferedWriter
FileWriter
OutputStreamWriter



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

字节流的单词都带InputStream和OutputStream
字符流的单词都带有Reader和Writer
作者: 杨增坤    时间: 2013-7-21 10:53
本帖最后由 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
  
不管源和目的,只要是文件的话,都是用类来指定(构造函数的参数)
大家对着有没有建议,大家可以能给出能通俗易懂的解释,理解使我们更能清晰!

作者: 杨兴庭    时间: 2013-7-21 12:27
老毕视频讲的很详细的哦。。。。
作者: 杨增坤    时间: 2013-7-21 13:55
杨兴庭 发表于 2013-7-21 12:27
老毕视频讲的很详细的哦。。。。

嗯,我看到了!谢谢!
作者: 杨增坤    时间: 2013-7-21 13:57
该问题已经解决,谢谢回复




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