黑马程序员技术交流社区

标题: IO流 [打印本页]

作者: 杨庆雷    时间: 2014-4-16 23:18
标题: IO流
本帖最后由 杨庆雷 于 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. }
复制代码
为何复制不成功呢  也不报错

作者: doyxy    时间: 2014-4-16 23:21
主函数没调用呃
作者: 曹冬明    时间: 2014-4-16 23:21
你主函数里也没调用copy()方法啊,能成功就怪了
作者: 马上都有    时间: 2014-4-16 23:28
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) {
                                
                        }
                }
               
        }

}

//已经改好,你看看你的主函数都干什么了,也太懒了吧!
作者: 杨庆雷    时间: 2014-4-16 23:28
亚麻跌、、、、、、、、、
作者: 杨庆雷    时间: 2014-4-16 23:30
马上都有 发表于 2014-4-16 23:28
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

亚麻跌、、、、、、、简直。。。
作者: 杨庆雷    时间: 2014-4-16 23:40
马上都有 发表于 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, 下载次数: 52)

debug.png

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

io.png

作者: doyxy    时间: 2014-4-16 23:49
你是不是目录里没有源文件啊?
把 throw new RuntimeException("读取异常");
改成 e.printStackTrace(); 看看具体错在哪里
作者: 杨庆雷    时间: 2014-4-16 23:52
doyxy 发表于 2014-4-16 23:49
你是不是目录里没有源文件啊?
把 throw new RuntimeException("读取异常");
改成 e.printStackTrace(); 看 ...

有文件啊

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

aaaa.png

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

bbb.png

作者: 月光海    时间: 2014-4-16 23:56
我想说我在myeclipse里面运行OK,复制成功
作者: doyxy    时间: 2014-4-16 23:58
aaaa.png 最上面那行是什么错误?
比如 java.io.FileNotFoundException: F:\src.txt (系统找不到指定的文件。)
作者: 杨庆雷    时间: 2014-4-16 23:58
月光海 发表于 2014-4-16 23:56
我想说我在myeclipse里面运行OK,复制成功

会在E盘创建文件   但是Demo2.txt里面的东西过不去  而且还出错  
作者: 杨庆雷    时间: 2014-4-17 00:01
doyxy 发表于 2014-4-16 23:58
aaaa.png 最上面那行是什么错误?
比如 java.io.FileNotFoundException: F:\src.txt (系统找不到指定的文件 ...

为何找不到呢

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

ccc.png

作者: 月光海    时间: 2014-4-17 00:03
杨庆雷 发表于 2014-4-16 23:58
会在E盘创建文件   但是Demo2.txt里面的东西过不去  而且还出错

我表示完全OK,有数据,而且正确
作者: doyxy    时间: 2014-4-17 00:07
发现问题所在了,旁边有个word文档没有后缀名,看来楼主是隐藏了,所以你的文件实际名字是demo2.txt.txt,改成demo2就行了,或者在 组织--文件夹选项--查看--取消勾选"隐藏已知文件类型的扩展名" 再看
作者: 杨庆雷    时间: 2014-4-17 00:09
doyxy 发表于 2014-4-17 00:07
发现问题所在了,旁边有个word文档没有后缀名,看来楼主是隐藏了,所以你的文件实际名字是demo2.txt.txt,改成d ...

谢谢  成了
作者: 杨庆雷    时间: 2014-4-17 00:13
月光海 发表于 2014-4-17 00:03
我表示完全OK,有数据,而且正确

哎 主要是 我建文件的时候 系统自己加了 后缀名 结果就成了 Demo2.txt.txt了   谢了
作者: ⒈心只霸占沵    时间: 2014-4-17 09:14
我看是main调用Copy方法后面的分号写成中文的了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2