黑马程序员技术交流社区

标题: 复制 [打印本页]

作者: tangliping    时间: 2014-6-28 03:01
标题: 复制
java如何实现文件的复制

作者: dispensable    时间: 2014-6-28 08:32
哥,我不得不告诉你,你这样连发几个帖子,而且都是水帖,小心分被扣了,得不偿失……有过先例哦
作者: 燿陚√揚葳    时间: 2014-6-28 11:45
使用字节流复制文件
代码如下:
  1. public static void main(String[] args){
  2. BufferedReader bufr=null;
  3. BufferedWriter bufw=null;
  4. try {
  5. //用转换流将字节流转换为字符流,并加入缓冲区
  6. bufr=new BufferedReader(new InputStreamReader(new FileInputStream("abc.txt")));
  7. //用转换流将字符流转换为字节流,并加入缓冲
  8. bufw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream("abc1.txt")));
  9. String line=null;
  10. //读取要复制的文件,并写入一个文件中
  11. while((line=bufr.readLine())!=null){
  12. bufw.write(line);
  13. bufw.newLine();
  14. bufw.flush();
  15. }
  16. } catch (Exception e) {
  17. throw new RuntimeException("文件复制失败!");
  18. }
  19. finally{
  20. try {
  21. //关闭读取流
  22. if(bufr!=null)
  23. bufr.close();
  24. } catch (IOException e) {
  25. throw new RuntimeException("读取流关闭失败!");
  26. }
  27. try {
  28. //关闭写入流
  29. if(bufw!=null)
  30. bufw.close();
  31. } catch (IOException e) {
  32. throw new RuntimeException("写入流关闭失败!");
  33. }
  34. }
  35. }
  36. }
复制代码

  1. <P> </P>
复制代码


作者: 尹兆国    时间: 2014-6-28 19:51
本帖最后由 尹兆国 于 2014-6-28 19:55 编辑

如果是文本文件,可以分别创建BufferedReader对象和BufferedWriter对象,利用它的readLine的方法,一行一行地读取,然后通过write(String str)方法,一行一行地写入。在此过程中,通过newLine()换行,通过flush将写入流中的数据刷到目标文件中。




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