问答详情
源自:5-1 字节字符转换流

求教,为什么我的只输出了文档中的第一个字?

我的代码只输出了文档中的第一个字。

返回的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 14:21

个回答

  • 伏地炸毛
    2015-07-31 14:39:49
    已采纳

    c是用作判断是否输出文本末尾的,并不是txt本身文本内容,你可采取其他方式获取文档中第一个字,PS:并且你取的是第一个字符,不是第一个字(汉字2字节)。

  • 慕粉3170877
    2016-07-15 19:08:18

    注意:c=isr.read()读取的是单个字符,同时返回的是字符,如果已到达流的末尾,则返回 -1。

  • 没有马甲线的安琪拉
    2015-07-31 14:37:40

    read方法本来就是读取内容,只是没内容可以输出的时候返回-1

  • 化龙贝
    2015-07-31 14:33:50

    求教,为什么我的只输出了文档中的第一个字?

    这个是因为,你没有用循环,只有一个if