我的代码只输出了文档中的第一个字。
返回的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
}
}
}
取的字符的个数吗,为甚么强制转换之后会输出文档的内容?
c是用作判断是否输出文本末尾的,并不是txt本身文本内容,你可采取其他方式获取文档中第一个字,PS:并且你取的是第一个字符,不是第一个字(汉字2字节)。
注意:c=isr.read()读取的是单个字符,同时返回的是字符,如果已到达流的末尾,则返回 -1。
read方法本来就是读取内容,只是没内容可以输出的时候返回-1
求教,为什么我的只输出了文档中的第一个字?
这个是因为,你没有用循环,只有一个if