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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 燕国庆 高级黑马   /  2012-11-24 15:14  /  1954 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 燕国庆 于 2012-11-24 15:16 编辑

import java.io.*;
class FileReaderDemo1
{
public static void main(String[] args)
{
  FileReader fr=null;
  try
  {
   fr=new FileReader("Demo1.txt");
   
   int ch=0;
   while((ch=fr.read())!=-1)
    System.out.println("ch="+(char)ch); //为什么而输出时会是图片的那样的结果那
  }
  catch (IOException e)
  {
   System.out.println(e.toString());
  }
  finally
  {
   try
   {
    if (fr!=null)
    {
     fr.close();
    }
   }
   catch (IOException e)
   {
    System.out.println(e.toString());
   }
  }
}
}


Demo1.txt:
ha      //此行有一个回车键
ab

QQ截图20121124150651.png (1.2 KB, 下载次数: 34)

QQ截图20121124150651.png

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1 赞一个!

查看全部评分

4 个回复

倒序浏览
本帖最后由 严学韦 于 2012-11-24 17:00 编辑
  1. package LianXi;

  2. public class Out{
  3. public static void main(String[] args) {
  4. System.out.print("ch1="+'\n');
  5. System.out.print("ch2="+'\r');
  6. }

  7. }
复制代码

结果.jpg (1.66 KB, 下载次数: 28)

结果.jpg

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
本帖最后由 燕国庆 于 2012-11-24 21:57 编辑
严学韦 发表于 2012-11-24 16:56


为什么在打印完
ch=
ch=
//在此中间问什么会有两个空行

ch=a
ch=b





class TestDemo      //这个例子在DOS命令行里根本不会打印出你那样的结果,这可能跟所用的软件有关系吧
{
public static void main(String[] args)
{
  System.out.print("ch1="+"\r");
  System.out.print("ch2="+"\n");
}
}
回复 使用道具 举报
二楼那个哥们都不是说了吗?

你的那个文件中:
ha
ab
有个回车键  就是'\r\n' 这是在window系统中指定的回车换行符号
不然怎么知道这一样字符读完了
看看这个结果就了然
  1. class Demo5
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 System.out.println("ch="+(int)'\r');
  6.                 System.out.println("ch="+(int)'\n');
  7.         }
  8. }
复制代码
回复 使用道具 举报
有的时候希望大家能亲身验证一下,可能不同的编辑软件会有不同的显示结果,利用Editplus和DOS命令窗口,与Myeclipse,显示的结果就是不同
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马