求教,為什么我的只輸出了文檔中的第一個字?
我的代碼只輸出了文檔中的第一個字。
返回的c值不是讀不是讀到字符的個數嗎,強制轉換為char類型后就能輸出文檔的內容了???
另外,批量讀取的時候是可以全部讀取文檔內容的。麻煩幫忙解答一下,十分感謝!
public static void main(String[] args) throws IOException {
// TODO 自動生成的方法存根
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);//強制類型轉換為char
}
}
}
取的字符的個數嗎,為甚么強制轉換之后會輸出文檔的內容?
2015-07-31
c是用作判斷是否輸出文本末尾的,并不是txt本身文本內容,你可采取其他方式獲取文檔中第一個字,PS:并且你取的是第一個字符,不是第一個字(漢字2字節)。
2016-07-15
注意:c=isr.read()讀取的是單個字符,同時返回的是字符,如果已到達流的末尾,則返回 -1。
2015-07-31
read方法本來就是讀取內容,只是沒內容可以輸出的時候返回-1
2015-07-31
求教,為什么我的只輸出了文檔中的第一個字?
這個是因為,你沒有用循環,只有一個if