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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 自由自在2014 中级黑马   /  2014-2-9 18:14  /  1107 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

FileInputStream fr=new FileInputStream("E:\\a.txt");
               FileOutputStream fw= new FileOutputStream("E:\\b.txt");
      
            while (fr.read()!=-1){
            fw.write(fr.read());  //这里的fr.read()返回的是数字 为什么不需要char强制转换就能到b文件内?
            }  
              fr.close();  
               fw.close();
         a文件中是abcd 复制的b文件中是bd 这是为什么?
             

评分

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

查看全部评分

7 个回复

倒序浏览
楼主上一个帖子已经有人帮你纠正过这个错误了

FileInputStream fr=new FileInputStream("E:\\a.txt");
               FileOutputStream fw= new FileOutputStream("E:\\b.txt");
      
            while (fr.read()!=-1){//你这里read了一次,没储存
            fw.write(fr.read());  //这里read了一次,储存了
            }  
              fr.close();  
               fw.close();

读取a没储存,然后读取b储存,读取c没储存,读取d储存。最后b文件中是bd

评分

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

查看全部评分

回复 使用道具 举报
lixiuliang 发表于 2014-2-9 18:25
楼主上一个帖子已经有人帮你纠正过这个错误了

FileInputStream fr=new FileInputStream("E:\\a.txt");

那要怎么用while判断来实现全部存储
回复 使用道具 举报
自由自在2014 发表于 2014-2-9 18:41
那要怎么用while判断来实现全部存储

int temp;
while((temp = fr.read()) != -1){
        fw.write(temp);
}
试试行不
回复 使用道具 举报
lixiuliang 发表于 2014-2-9 18:45
int temp;
while((temp = fr.read()) != -1){
        fw.write(temp);

那样出错了 改成下面的运行成功了

int temp=fr.read();
            while ( m!=-1){
                    fw.write(m);
                    temp=fr.read();
            }  
             
回复 使用道具 举报
自由自在2014 发表于 2014-2-9 18:53
那样出错了 改成下面的运行成功了

int temp=fr.read();

:o 这是什么
回复 使用道具 举报



int temp=fr.read();
            while ( temp!=-1){
                    fw.write(temp);
                    temp=fr.read();
            }  
            
回复 使用道具 举报
int temp;
while ( (temp=fr.read())!=-1){
        fw.write(temp);
}  
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马