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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 杨庆雷 中级黑马   /  2014-4-16 23:18  /  1825 人查看  /  17 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 杨庆雷 于 2014-4-17 16:48 编辑
  1. package IO;

  2. import java.io.FileReader;
  3. import java.io.FileWriter;
  4. import java.io.IOException;

  5. public class ReadWrite {

  6.         public static void main(String[] args) {
  7.                 // TODO Auto-generated method stub
  8.                    copy();
  9.         }
  10.         
  11.         
  12.         public static void copy(){
  13.                 FileWriter fw = null;
  14.                 FileReader fr = null;
  15.                
  16.                 try {
  17.                         fw = new FileWriter("E:\\Demo.txt");
  18.                         fr = new FileReader("F:\\Demo2.txt");
  19.                         
  20.                         char[] buf = new char[1024];
  21.                         int len = 0 ;
  22.                         while((len = fr.read(buf))!=-1){
  23.                                 fw.write(buf,0,len);
  24.                         }
  25.                         
  26.                 } catch (IOException e) {
  27.                         throw new RuntimeException("读取异常");
  28.                 }
  29.                 finally{
  30.                         if(fw != null)
  31.                         try {
  32.                                 fw.close();
  33.                         } catch (IOException e) {
  34.                                 
  35.                         }
  36.                         
  37.                         if(fr != null)
  38.                         try {
  39.                                 fr.close();
  40.                         } catch (IOException e) {
  41.                                 
  42.                         }
  43.                 }
  44.                
  45.         }

  46. }
复制代码
为何复制不成功呢  也不报错

17 个回复

倒序浏览
主函数没调用呃
回复 使用道具 举报
你主函数里也没调用copy()方法啊,能成功就怪了
回复 使用道具 举报
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class ReadWrite {

        public static void main(String[] args) {
                // TODO Auto-generated method stub
copy();
        }
        
        
        public static void copy(){
                FileWriter fw = null;
                FileReader fr = null;
               
                try {
                        fw = new FileWriter("E:\\Demo.txt");
                        fr = new FileReader("F:\\Demo2.txt");
                        
                        char[] buf = new char[1024];
                        int len = 0 ;
                        while((len = fr.read(buf))!=-1){
                                fw.write(buf,0,len);
                        }
                        
                } catch (IOException e) {
                        throw new RuntimeException("读取异常");
                }
                finally{
                        if(fw != null)
                        try {
                                fw.close();
                        } catch (IOException e) {
                                
                        }
                        
                        if(fw != null)
                        try {
                                        fw.close();
                        } catch (IOException e) {
                                
                        }
                }
               
        }

}

//已经改好,你看看你的主函数都干什么了,也太懒了吧!

评分

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

查看全部评分

回复 使用道具 举报
亚麻跌、、、、、、、、、
回复 使用道具 举报
马上都有 发表于 2014-4-16 23:28
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

亚麻跌、、、、、、、简直。。。
回复 使用道具 举报
马上都有 发表于 2014-4-16 23:28
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

还是不对啊  我在eclipse上 debug 的时候 会在 21行跳出 出错   错误为

debug.png (11.21 KB, 下载次数: 22)

debug.png

io.png (7.81 KB, 下载次数: 21)

io.png
回复 使用道具 举报
doyxy 中级黑马 2014-4-16 23:49:55
8#
你是不是目录里没有源文件啊?
把 throw new RuntimeException("读取异常");
改成 e.printStackTrace(); 看看具体错在哪里
回复 使用道具 举报
doyxy 发表于 2014-4-16 23:49
你是不是目录里没有源文件啊?
把 throw new RuntimeException("读取异常");
改成 e.printStackTrace(); 看 ...

有文件啊

aaaa.png (8.4 KB, 下载次数: 32)

aaaa.png

bbb.png (12.35 KB, 下载次数: 26)

bbb.png
回复 使用道具 举报
我想说我在myeclipse里面运行OK,复制成功
回复 使用道具 举报
doyxy 中级黑马 2014-4-16 23:58:12
11#
aaaa.png 最上面那行是什么错误?
比如 java.io.FileNotFoundException: F:\src.txt (系统找不到指定的文件。)
回复 使用道具 举报
月光海 发表于 2014-4-16 23:56
我想说我在myeclipse里面运行OK,复制成功

会在E盘创建文件   但是Demo2.txt里面的东西过不去  而且还出错  
回复 使用道具 举报
doyxy 发表于 2014-4-16 23:58
aaaa.png 最上面那行是什么错误?
比如 java.io.FileNotFoundException: F:\src.txt (系统找不到指定的文件 ...

为何找不到呢

ccc.png (8.78 KB, 下载次数: 24)

ccc.png
回复 使用道具 举报
杨庆雷 发表于 2014-4-16 23:58
会在E盘创建文件   但是Demo2.txt里面的东西过不去  而且还出错

我表示完全OK,有数据,而且正确
回复 使用道具 举报
doyxy 中级黑马 2014-4-17 00:07:06
15#
发现问题所在了,旁边有个word文档没有后缀名,看来楼主是隐藏了,所以你的文件实际名字是demo2.txt.txt,改成demo2就行了,或者在 组织--文件夹选项--查看--取消勾选"隐藏已知文件类型的扩展名" 再看
回复 使用道具 举报
doyxy 发表于 2014-4-17 00:07
发现问题所在了,旁边有个word文档没有后缀名,看来楼主是隐藏了,所以你的文件实际名字是demo2.txt.txt,改成d ...

谢谢  成了
回复 使用道具 举报
月光海 发表于 2014-4-17 00:03
我表示完全OK,有数据,而且正确

哎 主要是 我建文件的时候 系统自己加了 后缀名 结果就成了 Demo2.txt.txt了   谢了
回复 使用道具 举报
我看是main调用Copy方法后面的分号写成中文的了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马