A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 卢祥洲 中级黑马   /  2013-6-22 20:46  /  1890 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 卢祥洲 于 2013-6-22 22:15 编辑

读取文本文本中:
int ch = 0;

while((ch=fr.read())!=-1){ //这里ch是int型的,

System.out.println((char)ch);        //到这里输出不强制转成char型,行吗?char和int不是互相可以转的吗?这里int行怎么还要转成char型?

}

  1. import java.io.*;

  2. public class FileReaderDemo01{

  3. public static void main(String[] args) throws IOException{

  4. //1、创建一个文件读取流对象,并和指定名称的文件相关联

  5. //要保证该文件是已经存在的,如果不存在,会发生异常FileNotFoundException

  6. FileReader fr = new FileReader("demo.txt");

  7. //2、调用读取流对象的read方法

  8. //read()方法一次读一个字符。而且会自动往下读。

  9. int ch = 0;

  10. while((ch=fr.read())!=-1){

  11. System.out.println((char)ch);        

  12. }

  13. }

  14. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
张勇1993 + 1 很给力!

查看全部评分

3 个回复

倒序浏览
本帖最后由 Just_Only 于 2013-6-22 21:22 编辑

原因是你可以下read的返回类型是int类型的,如果你不转那就等不到你所需要的结果,地类型转高类型需要强制转换,而反过来则是不需要的。
回复 使用道具 举报
Just_Only 发表于 2013-6-22 21:21
原因是你可以下read的返回类型是int类型的,如果你不转那就等不到你所需要的结果,地类型转高类型需要强制 ...

3QU。
类型转换:
char===>int  低类型转成高类型,不需要强制转换;
int===>char  高类型转成低类型,需要强制转换。

回复 使用道具 举报
卢祥洲 发表于 2013-6-22 22:14
3QU。
类型转换:
char===>int  低类型转成高类型,不需要强制转换;

继续加油。。。。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马