求教,為什么我的只輸出了文檔中的第一個(gè)字?
我的代碼只輸出了文檔中的第一個(gè)字。
返回的c值不是讀不是讀到字符的個(gè)數(shù)嗎,強(qiáng)制轉(zhuǎn)換為char類型后就能輸出文檔的內(nèi)容了???
另外,批量讀取的時(shí)候是可以全部讀取文檔內(nèi)容的。麻煩幫忙解答一下,十分感謝!
public static void main(String[] args) throws IOException {
// TODO 自動(dòng)生成的方法存根
String file="E:\\javaio\\imooc.txt";
InputStreamReader isr=new InputStreamReader(new FileInputStream(file));
int c;
if((c=isr.read())!=-1){
System.out.println((char)c);//強(qiáng)制類型轉(zhuǎn)換為char
}
}
}
取的字符的個(gè)數(shù)嗎,為甚么強(qiáng)制轉(zhuǎn)換之后會(huì)輸出文檔的內(nèi)容?
2015-07-31
c是用作判斷是否輸出文本末尾的,并不是txt本身文本內(nèi)容,你可采取其他方式獲取文檔中第一個(gè)字,PS:并且你取的是第一個(gè)字符,不是第一個(gè)字(漢字2字節(jié))。
2016-07-15
注意:c=isr.read()讀取的是單個(gè)字符,同時(shí)返回的是字符,如果已到達(dá)流的末尾,則返回 -1。
2015-07-31
read方法本來(lái)就是讀取內(nèi)容,只是沒內(nèi)容可以輸出的時(shí)候返回-1
2015-07-31
求教,為什么我的只輸出了文檔中的第一個(gè)字?
這個(gè)是因?yàn)椋銢]有用循環(huán),只有一個(gè)if