java实现文件夹的复制和剪切

  • 思路分析
  • 代码展示

思路分析

上一篇文章已经介绍了java实现文件夹的复制,这篇文章为上一篇文章的补充,补充了文件夹的剪切,大家可以点击这里来了解上一篇文章(Java实现文件夹的复制)

代码展示

package com.java.study;import java.util.*;
import java.io.*;public class Test implements Serializable{private String src;private String target;public Test(String src, String target) {this.src = src;this.target = target;}public String getSrc() {return src;}public void setSrc(String src) {this.src = src;}public String getTarget() {return target;}public void setTarget(String target) {this.target = target;}//复制文件,后续大家可以考虑缓冲问题,减少io次数,从而提高效率static void copyfile(String oldfile,String newfile) throws IOException {File oldf=new File(oldfile);FileOutputStream fop=new FileOutputStream(new File(newfile));FileInputStream fip=new FileInputStream(oldf);int count=fip.available();byte[] bytes=new byte[count];int input=-1;while((input=fip.read(bytes))!=-1){fop.write(bytes);}fop.flush();fop.close();fip.close();}//复制文件夹static void copydir(String oldpath,String newpath) throws IOException {File f1=new File(oldpath);File[] files=f1.listFiles();for(File ff:files){if(!ff.isDirectory()){   //如果是文件,直接调用上面文件复制方法进行复制String newtarget=newpath+File.separator+ff.getName();copyfile(ff.getAbsolutePath(),newtarget);}else{    //如果是文件夹,运用递归进行文件夹的复制String newtarget=newpath+File.separator+ff.getName();File newdir=new File(newtarget);newdir.mkdir();copydir(oldpath+File.separator+ff.getName(),newpath+File.separator+ff.getName());}}}//文件夹的剪切,先进行判断,如果时文件,直接删除,如果时文件夹,递归向下调用//因为File中的delete方法只能删除一个普通文件或者一个空的文件夹,所以需要先进行判断static void deletedir(String src){File srcfile=new File(src);File[] srcfiles=srcfile.listFiles();for(File f:srcfiles){if(f.isFile()){   //判断为文件,直接调用delete方法删除f.delete();}else{  //判断为文件夹,继续递归对该文件夹内的文件进行判断删除deletedir(f.getAbsolutePath());}}srcfile.delete();}public static void main(String[] args) throws IOException {copydir("f:\\java1","f:\\target");deletedir("f:\\java1");}}

java实现文件夹的复制和剪切(包括子文件和子文件夹)相关推荐

  1. Java 将文件的内容复制到另一个文件

    java将一个文件的内容复制到另一个文件. 使用BufferedWriter类的read和write方法将一个文件的内容复制到另一个文件. 完整代码 import java.io.*;public c ...

  2. java代码实现看帖回帖功能_求助Java窗口菜单如何实现复制粘贴剪切等功能(内附源代码)...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 if(e.getActionCommand()=="进入注册") {new CommFrame();   }}class Handle ...

  3. java 两个窗口 贴_求助Java窗口菜单如何实现复制粘贴剪切等功能(内附源代码)...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 if(e.getActionCommand()=="进入注册") {new CommFrame();   }}class Handle ...

  4. 优盘复制进来为空_为何电脑上的文件夹一复制到U盘里就变成空文件夹了?

    (@格式化后的卡在恢复前千万不要往里面存东西,因为这样会覆盖你想恢复的内容,如果你不小心存东西了也不要放弃,只不过恢复的机率会变小@),下面开始::: 在百度里输入Easy recover 软件找到后 ...

  5. Linux和windows之间实现文件的粘贴复制

    一.Ubuntu20和win10 Ubuntu20下就比较简单了,按照以下操作一下即可sudo apt-get autoremove open-vm-toolssudo apt-get install ...

  6. cmd 将文件夹下文件剪切到另外一个文件_总结java中文件拷贝剪切的5种方式-JAVA IO基础总结第五篇...

    本文是Java IO总结系列篇的第5篇,前篇的访问地址如下: 总结java中创建并写文件的5种方式-JAVA IO基础总结第一篇 总结java从文件中读取数据的6种方法-JAVA IO基础总结第二篇 ...

  7. java中怎么剪切文件_java中实现文件复制、剪切和删除

    import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io ...

  8. linux下文件夹的创建、复制、剪切、重命名、清空和删除命令

    在home目录下有wwwroot目录,wwwroot下有sinozzz目录,即/home/wwwroot/sinozzz 一.目录创建 在/home/wwwroot目录下新建一个sinozzz123的 ...

  9. linux剪切到另一个文件夹,linux下文件夹操作常见命令如创建、复制、剪切、重命名、清空和删除命令 实例说明...

    linux下文件夹操作常见命令如创建.复制.剪切.重命名.清空和删除命令 实例说明,在home目录下有wwwroot目录,wwwroot下有sinozzz目录,即/home/wwwroot/sinoz ...

最新文章

  1. hdu4046 不错的线段树单点更新
  2. Android UI(五)云通讯录项目之联系人列表,带侧滑选择,带搜索框
  3. 第八章 神经网络表示-机器学习老师板书-斯坦福吴恩达教授
  4. RobotFramework Library
  5. python编写程序题目_让我们一起来写python程序,做些简单的题目
  6. TensorFlow神经网络(六)制作数据集,实现特定应用
  7. LeetCode(884)——两句话中的不常见单词(JavaScript)
  8. “NTLDR is missing”和”NTLDR is compressed”的解决办法
  9. angularJS中如何写自定义指令
  10. 四、全卷积网络FCN详细讲解(超级详细哦)
  11. 谷歌地球大陆版如何下载和使用,查看谷歌历史影像3D建筑街景等
  12. C4D材质原理揭秘笔记-初学必看
  13. sublime text豆沙绿,护眼自制主题
  14. G6-Editor 编辑器入门使用教程
  15. 操作系统-进程互斥的软件实现方法
  16. mysql 不会丢失数据吗_讨论MySQL丢失数据的几种情况
  17. 查找SCI期刊的JCR缩写
  18. v免签对接易支付插件(已测试)
  19. 字符串中大小写转换输出
  20. 移动硬盘安装debian,支持BIOS和uefi双引导

热门文章

  1. 你笑起来真好看用计算机打出来的,你笑起来真好看是什么歌
  2. 【Python】深入理解python格式化输出
  3. Mysql远程访问权限
  4. java中继承类 student 类例子_java中student类继承问题
  5. 用友T3用友通行政单位没有损益类科目,如何做期间损益结转?
  6. 如何用python绘制灰度直方图_python如何显示图像的灰度直方图-女性时尚流行美容健康娱乐mv-ida网...
  7. 可以用计算机寒地凉凉,寒气造句
  8. idea远程调试jar包
  9. 【Linux】vim常用命令
  10. 自媒体多平台发布哪个稳定?市面上的自媒体工具分享