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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张雪萍 中级黑马   /  2013-4-7 12:50  /  1833 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. import java.io.*;
  2. class  FileReaderDemo10
  3. {
  4.         public static void main(String[] args) throws IOException
  5.         {
  6.            int ch=0;
  7.            while((ch=fr.read())!=-1)
  8.                 {
  9.                    System.out.println("ch="+(char)ch);
  10.            }
  11.          
  12.         fr.close();
  13.         }
  14. }
复制代码
demo.txt文件中只有abc三个字符,但是读取结果多出两个ch= 来,
这是怎么回事?d:\

$C)E6@)BX(TAC]`~LY~4JBI.jpg (2.76 KB, 下载次数: 16)

$C)E6@)BX(TAC]`~LY~4JBI.jpg

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

9 个回复

倒序浏览
你.txt文件是不是有空格之类的呀
我估计你是有空格了 空格也算内容
回复 使用道具 举报
在txt文件中是否有换行?\r  \n也算两个字符
回复 使用道具 举报
1,你的问题描述的不够细致,最好近可能的把和问题相关的信息都说出来,大家可能才能帮你解决。

2,从问题来看,可能向上面楼长说的那样,就是说,你的文本中有换行,在读取文本的时候,如果在windows中,换行是\r和\n表示的,你可以去掉你的强转,直接输出int看看,好像是12和13,这两个就是\r和\n对应的二进制的最低位8位的整数。

3,在毕老师的视频,IO前段中好像有说过,如果你没有,可以回复我,我给你发一份!
回复 使用道具 举报
如果问题未解决,请继续追问,如果没有问题了,请将帖子分类 改为“已解决”,谢谢
回复 使用道具 举报
我手心里的宝 发表于 2013-4-7 12:58
你.txt文件是不是有空格之类的呀
我估计你是有空格了 空格也算内容

没有空格 啊
回复 使用道具 举报
罗沤洪 发表于 2013-4-7 16:11
import java.lang.*;
import java.util.*;
import java.io.*;

我特地试了没有空格
回复 使用道具 举报
王大斌 发表于 2013-4-7 13:07
在txt文件中是否有换行?\r  \n也算两个字符

没有,我特地试了
回复 使用道具 举报
回车也是
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马