[问题]Java IO的read

楼主: lueichun (no anonymous)   2014-11-05 15:55:53
我在java io的范例code上看到这一段code:
while((str = bufIn.readLine()) != null)
//或是while((i = bufIn.read()) != -1)
{
......
}
这段code的意思是如果inputstream有read到资料
while loop就会继续跑下去
我想问的是(str = bufIn.readLine())这段code
本身就代表着字串内容??
不然为何(str = bufIn.readLine()) 可以!= null
这样写感觉像是这段code可以等于读到的字串,然后read完后就等于空字串
(就是read完后:((str = bufIn.readLine())==null??)
为何不写成先做str = bufIn.readLine()
然后检查str是否!=null
是的话循环继续执行
不是的话就跳出循环呢
不懂将这段code浓缩成一行的意义??
另外想再请问
bufferedReader BufferedWriter这些缓冲用class
是只能跟处理字符型别资料的class
例如fileWriter FileReader搭配使用吗
还是也可以跟处理位元型别的class
例如fileinputStream FileOutStream共用呢??
感谢~~
作者: swpoker (swpoker)   2014-11-05 16:46:00
for(String r=in.readLine();r!=null;r=in.readLine())我习惯这样写~宣告在里面没想到可以很顺利的处理第一行的BOM问题~~XD
作者: ssccg (23)   2014-11-05 19:38:00
有BufferedInputStream/BufferedOutputStreamReader/Writer就是处理字符

Links booklink

Contact Us: admin [ a t ] ucptt.com