黑马程序员技术交流社区

标题: 关于复制文件的错误,求解~ [打印本页]

作者: 侯凯斌    时间: 2013-1-9 15:24
标题: 关于复制文件的错误,求解~
本帖最后由 侯凯斌 于 2013-2-18 11:49 编辑
  1. /*
  2. 需求:
  3. 文件复制;
  4. */
  5. import java.io.*;
  6. class FileCopy
  7. {
  8. public static void main(String[] args)
  9. {
  10. copy("f:\\javawork\\day18\\FileReaderDemo.java","c:\\");
  11. }
  12. //定义一个复制文件的功能,str1代表需要复制的文件;str2代表复制文件的目的地;
  13. public static void copy(String str1,String str2)
  14. {
  15. FileReader fr=null;
  16. FileWriter fw=null;
  17. try
  18. {
  19. fr=new FileReader(str1);
  20. fw=new FileWriter(str2);

  21. char ch[]=new char[1024];
  22. int num=0;
  23. while ((num=fr.read(ch))!=-1)
  24. {
  25. fw.write(ch,0,num);
  26. fw.flush();
  27. }
  28. }
  29. catch (IOException ioe)
  30. {
  31. new RuntimeException("读写失败!");
  32. }
  33. finally
  34. {
  35. if (fw!=null)
  36. {
  37. try
  38. {
  39. fw.close();
  40. //关闭用于写入的流;
  41. }
  42. catch (IOException i)
  43. {
  44. System.out.println(i.toString());
  45. }
  46. }
  47. if (fr!=null)
  48. {
  49. try
  50. {
  51. fr.close();
  52. //关闭用于读取的流;
  53. }
  54. catch (IOException i)
  55. {
  56. System.out.println(i.toString());
  57. }
  58. }
  59. }
  60. }
  61. }
复制代码
编译,运行都没有问题,但是为什么在复制文件的目的地没有被复制的文件出现啊??
作者: 胡勇敏    时间: 2013-1-9 15:40
仔细看了下你的代码 问题应该出来传进来的参数。你代码第10行的 第二个参数只指定了路径 没有指定文件。就是这个原因,添加文件名与类型就行了。编码仔细点。copy("f:\\javawork\\day18\\FileReaderDemo.java","c:\\demo.txt");

作者: 何竹冬    时间: 2013-1-9 16:28
本帖最后由 何竹冬 于 2013-1-9 16:31 编辑
  1. /*

  2. 你好,需要指定目地文件的名字
  3. 需求:
  4. 文件复制;
  5. */
  6. import java.io.*;
  7. class FileCopy
  8. {
  9. public static void main(String[] args)
  10. {
  11. copy("f:\\javawork\\day18\\FileReaderDemo.java","c:\\FileReaderDemo.java");
  12. }
  13. //定义一个复制文件的功能,str1代表需要复制的文件;str2代表复制文件的目的地;
  14. public static void copy(String str1,String str2)
  15. {
  16. FileReader fr=null;
  17. FileWriter fw=null;
  18. try
  19. {
  20. fr=new FileReader(str1);
  21. fw=new FileWriter(str2);

  22. char ch[]=new char[1024];
  23. int num=0;
  24. while ((num=fr.read(ch))!=-1)
  25. {
  26. fw.write(ch,0,num);
  27. fw.flush();
  28. }
  29. }
  30. catch (IOException ioe)
  31. {
  32. new RuntimeException("读写失败!");
  33. }
  34. finally
  35. {
  36. if (fw!=null)
  37. {
  38. try
  39. {
  40. fw.close();
  41. //关闭用于写入的流;
  42. }
  43. catch (IOException i)
  44. {
  45. System.out.println(i.toString());
  46. }
  47. }
  48. if (fr!=null)
  49. {
  50. try
  51. {
  52. fr.close();
  53. //关闭用于读取的流;
  54. }
  55. catch (IOException i)
  56. {
  57. System.out.println(i.toString());
  58. }
  59. }
  60. }
  61. }
  62. }
复制代码





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