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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 天方地圆 中级黑马   /  2014-3-14 21:24  /  1080 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. import java.io.*;

  2. class  CopyText
  3. {
  4.         public static void main(String[] args) throws IOException
  5.         {
  6.                
  7.                 copy_1();

  8.         }
  9.         public static void copy_1()throws IOException
  10.         {
  11.                 FileWriter fw = new FileWriter("RuntimeDemo_copy.txt");

  12.                 FileReader  fr = new FileReader("RuntimeDemo.java");

  13.                 int ch = 0;

  14.                 while((ch=fr.read())!=-1);
  15.                 {
  16.                         fw.write(ch);
  17.                 }

  18.                 fw.close();
  19.                 fr.close();
  20.         }
  21. }
复制代码
编译  运行 都没问题 ,但是出来的RuntimeDemo_copy.txt 文件 ,里面只有一个? ,是怎么回事?

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

2 个回复

倒序浏览
                while((ch=fr.read())!=-1);

                {

                        fw.write(ch);

                }
这个while循环第一行条件判断后面多了一个分号;  把分号去掉试一下~
有分号的话下面的fw.write()根本就没有循环执行,只写入了-1,然后可能编码识别不了-1,就输出了个?.

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
chen_x 发表于 2014-3-14 21:44
while((ch=fr.read())!=-1);

                {

大赞 !!没注意啊   :)
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马