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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© tangliping 中级黑马   /  2014-6-28 03:01  /  1009 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

java如何实现文件的复制

3 个回复

倒序浏览
哥,我不得不告诉你,你这样连发几个帖子,而且都是水帖,小心分被扣了,得不偿失……有过先例哦
回复 使用道具 举报
使用字节流复制文件
代码如下:
  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:55 编辑

如果是文本文件,可以分别创建BufferedReader对象和BufferedWriter对象,利用它的readLine的方法,一行一行地读取,然后通过write(String str)方法,一行一行地写入。在此过程中,通过newLine()换行,通过flush将写入流中的数据刷到目标文件中。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马