黑马程序员技术交流社区

标题: 流操作规律总结,有一个小点不太明确 [打印本页]

作者: 熊亮    时间: 2013-9-22 14:08
标题: 流操作规律总结,有一个小点不太明确
本帖最后由 熊亮 于 2013-9-22 21:36 编辑
  1. 1、输入流:
复制代码
选择对象三部曲:根据需求,可以快速选择所需流对象,和装饰类,并且非常好记{:soso__4705646669196236709_3:}有个小问题:什么时候用read 什么时候用readLine呢?有规律可循吗?有点模糊
  1.   String line = null;
  2.                 while((line=bufr.readLine())!=null) 、、、、、、、、什么时候用read 什么时候用readLine呢?有规律可循吗?有点模糊
  3.                 {
  4.                         if("over".equals(line))
  5.                                 break;
  6.                         bufw.write(line);
  7.                         bufw.newLine();
  8.                         bufw.flush();
  9.                 }
  10.                 bufr.close();
  11.                 bufw.close();
复制代码

作者: 酱爆    时间: 2013-9-22 14:48
如果想一行一行的读就用readLine ,一个一个的读就的read,部份读取就用缓冲
作者: lizhangzhi    时间: 2013-9-22 15:00
read()是一个通用方法,只要涉及到读取,就可以用read()方法,读取流是字符流,并有缓冲区的情况下,一般用readline();
作者: yting_xmei1129    时间: 2013-9-22 15:17
楼主用的是 BufferedReader 吧! 这是一个缓冲字节流!比如现在有一个需求,读取一个java文件里面有多少行//这样的注释,这就需要使用br.readLine().startsWith("//"); 了,read完全不可行了。如果你是要读取一个字节的话就用read(),希望可以帮到你、、、
作者: doitforyou    时间: 2013-9-22 17:15
如果要知道何时使用read()方法和readLine()方法,
首先你要知道他们的出处,Reader系列的类中都会有read()方法,
所以read()方法是通用的。
readLine()方法则是缓冲区BufferedReader类特有方法,
当你使用BufferedReader时,就要注意,使用readLine()方法会很方便你操作。
作者: 熊亮    时间: 2013-9-22 21:36
doitforyou 发表于 2013-9-22 17:15
如果要知道何时使用read()方法和readLine()方法,
首先你要知道他们的出处,Reader系列的类中都会有read()方 ...

懂了,查了一下API,确实readLine和newLine差不多,都是特有方法,看见BufferedReader和BufferedWriter,才能使用,其他用read

作者: jìng╮煜    时间: 2013-9-23 14:09
lizhangzhi 发表于 2013-9-22 15:00
read()是一个通用方法,只要涉及到读取,就可以用read()方法,读取流是字符流,并有缓冲区的情况下,一般 ...

你很活跃嘛
作者: lizhangzhi    时间: 2013-9-23 19:13
挣技术分,不活跃哪能行




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