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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 邵阳 中级黑马   /  2012-8-12 12:07  /  1240 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 邵阳 于 2012-8-12 13:04 编辑

/*import java.io.*;
class Demo
{
        public static void main(String[]args)throws IOException
        {
                FileReader file=new FileReader("demo.txt");
                int chr=file.read();
                System.out.println("chr="+(char)chr);
                int chr1=file.read();
                System.out.println("chr1="+(char)chr1);
                int chr2=file.read();
                System.out.println("chr2="+(char)chr2);
                int chr3=file.read();
                System.out.println("chr3="+chr3);
                int chr4=file.read();
                System.out.println("chr4="+chr4);
                file.close();
        }
}

怎么结果是
D:\java\zuoye\io>java Demo
chr=a
chr1=b
chr2=c
chr3=13
chr4=10

不应该是-1吗;无语

我的txt文件里面数据是  abc

2 个回复

正序浏览
-1是会读出来的,你强转完就会输出一个"?",没强转就输出-1,之所以你没读到-1,读到10和13,是因为吗的file文件里面打了一个回车,就是\r\n,你要是再读一个,就可以读到-1了
回复 使用道具 举报
-1是一个判断值,当判断为-1时就不会读了,所以-1是不会读出来的,之所以会出现13和10两个值,楼主肯定是在文件结尾按了回车吧?回车在windows里对应的是\r   \n两个字符,这两个字符对应的int值就是13和10.

评分

参与人数 2技术分 +1 黑马币 +3 收起 理由
张_涛 + 1 赞一个!
邵阳 + 3 神马都是浮云

查看全部评分

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