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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

5黑马币
  1. package com.util;

  2. import java.io.*;
  3. /*
  4. * 将c盘一个文本文件复制到D盘
  5. * 复制的原理:
  6. * 其实就是将C盘下的文件数据存储到D盘的一个文件中
  7. *
  8. *步骤:
  9. *1、在D盘创建一个文件,用于存储C盘文件中的数据
  10. *2、定义读取流和C盘文件关联
  11. *3、通过不断的读写完成数据存储
  12. *4、关闭资源
  13. */
  14. public class CopyText {
  15.         public static void main(String args[])
  16.         {
  17.                 copy_2();
  18.         }
  19.        
  20.        
  21.        
  22.         public static void copy_2()
  23.         {
  24.                 FileWriter fw = null;
  25.                 FileReader fr = null;
  26.                
  27.                 try {
  28.                        
  29.                         fw = new FileWriter("demo_copy2.txt");
  30.                         fr = new FileReader("demo.txt");
  31.                        
  32.                         char buf[] = new char[100];
  33.                         int len = 0;
  34.                         while((len=fr.read(buf))!=-1)
  35.                         {
  36.                                 fw.write(buf,0,len);
  37.                         }
  38.                 } catch (IOException e) {
  39. throw new RuntimeException("读写失败!");
  40.                 }
  41.                 finally
  42.                 {
  43.                         if(fw!=null)
  44.                         try {
  45.                                
  46.                                 fw.close();
  47.                         } catch (IOException e) {

  48.                         }
  49.                         if(fr!=null)
  50.                                 try {
  51.                                        
  52.                                         fr.close();
  53.                                 } catch (IOException e) {
  54.                                        
  55.                                 }
  56.                 }
  57.         }

  58. }

  59. 比如demo.txt文件在D盘下 把里面的数据写入到E盘的demo_copy2.txt中啊》》》》》
  60. 一加E:\\就报异常了
复制代码


最佳答案

查看完整内容

在我的电脑上,你提供的代码是按预期运行的,所以我认为是你的执行环境有问题,请确 保"E:\\demo.txt"表示的文件是可读取的(存在且不能是文件夹,java程序有读权限等等) "E:\\demo_copy2.txt"表示的文件是可写的(不能是文件夹,java程序有写权限等等) 强烈建议换两个文件在试试,比如"f:\\1.txt" "f:\\2.txt"另外可以参考: http://bbs.itheima.com/thread-147644-1-1.html ...

6 个回复

倒序浏览
本帖最后由 刘树弘 于 2014-10-15 22:49 编辑

在我的电脑上,你提供的代码是按预期运行的,所以我认为是你的执行环境有问题,请确
保"E:\\demo.txt"表示的文件是可读取的(存在且不能是文件夹,java程序有读权限等等)
"E:\\demo_copy2.txt"表示的文件是可写的(不能是文件夹,java程序有写权限等等)
强烈建议换两个文件在试试,比如"f:\\1.txt" "f:\\2.txt"另外可以参考:
http://bbs.itheima.com/thread-147644-1-1.html
回复 使用道具 举报
刘树弘 发表于 2014-10-15 16:41
在我的电脑上,你提供的代码是按预期运行的,所以我认为是你的执行环境有问题,请确
保"E:\\demo.txt"表示 ...

哦   我头脑发热了   
回复 使用道具 举报
我电脑上运行可以啊我测试了可以滴哥们,我就是把您的文件加了一个d盘其他的没改完全可以的
回复 使用道具 举报
菜鸟路过围观
回复 使用道具 举报
顶顶顶!!!
回复 使用道具 举报
public FileWriter(String fileName)
           throws IOException
                - 如果指定文件存在,但它是一个目录,而不是一个常规文件;或者该文件不存在,但无法创建它;抑或因为其他某些原因而无法打开它。都会报异常。  我在前面加上D盘符(我的.class在D盘),没有报异常,加上C 盘后报异常,所以可能是某些原因而无法打开它。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马