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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 孙国军 中级黑马   /  2012-4-20 18:46  /  1656 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  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. }
复制代码
编译,运行都没有问题,但是为什么在复制文件的目的地没有被复制的文件出现啊??/

4 个回复

正序浏览
明白了,谢谢大家啊!!
回复 使用道具 举报
FileWriter是向一个文件中写入你读取到的文件的内容,不包含创建新文件的工作,所以得指定一个文本文件,不能指定目录。

评分

参与人数 1黑马币 +3 收起 理由
孙国军 + 3

查看全部评分

回复 使用道具 举报
楼主,你好像都没有写要生成什么文件吧,你只写了复制到c盘下啊
回复 使用道具 举报
你是把.java中的内容复制到c盘根目录 不是根目录中的文件 当然没显示 应该指定一个.java文件,例如:c:\\a.java

评分

参与人数 1黑马币 +3 收起 理由
孙国军 + 3

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马