递归拷贝/删除文件/文件夹:
package cn.syswin.copy; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.util.concurrent.atomic.AtomicLong; public class CopyFiles { private static AtomicLong delFileCount = new AtomicLong(0); private static AtomicLong copyFileCount = new AtomicLong(0); public static void main(String[] args) throws Exception { long start = System.currentTimeMillis(); copyFiles("D:\\WorkSpace\\Test\\aa", "D:\\WorkSpace\\Test\\ee"); // deleteFiles("D:\\WorkSpace\\Test\\ee"); System.out.println("总耗时(分钟): " + ((System.currentTimeMillis() - start) / 1000 / 60)); } // 拷贝文件夹 public static void copyFiles(String originPath, String destPath) throws Exception { File file = new File(originPath); if (file.isDirectory()) { File f = new File(destPath); if (!f.exists()) { System.out.println(copyFileCount.incrementAndGet() + " " + f.toString()); f.mkdir(); } File[] files = file.listFiles(); for (File file2 : files) { copyFiles(file2.toString(), destPath + File.separator + file2.getName()); } } else { copy(originPath, destPath); } } // 拷贝单个文件 public static void copy(String originPath, String destPath) throws IOException { File originFile = new File(originPath); File destFile = new File(destPath); if(!destFile.exists() || originFile.length() != destFile.length()) { // 如果文件不存在或文件大小不一样则拷贝 System.out.println(copyFileCount.incrementAndGet() + " " + destPath + " [" + originFile.length() + " " + destFile.length() + "]"); // + originPath + " >>> " DataInputStream in = new DataInputStream(new BufferedInputStream(new FileInputStream(originFile))); byte[] data = new byte[in.available()]; in.read(data); DataOutputStream out = new DataOutputStream(new BufferedOutputStream(new FileOutputStream(destFile))); out.write(data); out.flush(); in.close(); out.close(); } } // 删除指定文件夹的所有文件及根文件夹 public static void deleteFiles(String path) { File f = new File(path); if (f.isDirectory()) { File[] file = f.listFiles(); for (File file2 : file) { deleteFiles(file2.toString()); } } deleteFile(f); } public static void deleteFile(File file) { if (file.exists()) { System.out.println(delFileCount.incrementAndGet() + " " + file.toString()); file.delete(); } } }
相关推荐
简单的递归删除文件,递归拷贝文件。欢迎交流
删除文件夹,递归删除目录下的所有文件及子目录下所有文件,函数名:getFile 作用:使用递归,输出指定文件夹内的所有文件 参数:path:文件夹路径 前置空格缩进,显示文件层次结构,通过文件名称获取导入文件到temp...
封装了包括所有常用的文件操作方法如:读文件,写文件,查看文件夹大小,树状展示文件夹中文件目录,拷贝文件,复制文件,删除文件,创建文件,递归删除文件夹中文件,获取指定文件属性
递归删除文件夹目录及文件; 将指定文件夹下面的所有内容copy到目标文件夹下面 果目标文件夹为只读属性就会报错; 获取指定文件夹下所有子目录及文件(树形); 获取指定文件夹下所有子目录及文件函数; 获取指定...
2.指定一个路径,将其下面(含子文件夹中)的以".txt"结尾的文件移动到指定的另一个路径下;
删除目的文件夹中所有的文件。支持重置,停止。 1.文件夹选择。 2.文件夹遍历。 3.文件复制。 4.文件删除。 5.函数递归。 6.按钮文字的改变及改变按钮是否可用的属性。 7.进度条的使用。 8.程序无响应的优化。
目前最为常用的C#经典操作文件的方法,具体内容如下:C#追加、拷贝、删除、移动文件、创建目录、递归删除文件夹及文件、指定文件夹下面的所有内容copy到目标文件夹下面、指定文件夹下面的所有内容Detele、读取文本...
参数R表示对目录进行递归操作,kext在图形界面下看起来是个文件,实际上是个文件夹。 把驱动目录下的所有文件备份到桌面backup cp -R /System/Library/Extensions/* /User/用户名/Desktop/backup 删除文件 rm 参数...
该文档总结了使用C#语言实现操作文件的各种方法,包括C#追加、拷贝、删除、移动文件、创建目录、递归删除文件夹及文件、指定文件夹下面的所有内容copy到目标文件夹下面、指定文件夹下面的所有内容Detele、读取文本...
该文档总结了使用C#语言实现文件操作的各类方法,包括C#追加、拷贝、删除、移动文件、创建目录、递归删除文件夹及文件、指定文件夹下面的所有内容copy到目标文件夹下面、指定文件夹下面的所有内容Detele、读取文本...
实现从ftp服务器某一目标文件夹开始入口,扫描所有子文件夹和子文件夹下的文件,如果存在文件,则拷贝至本地某目录下,并删除FTP服务器上该文件。如果不存在文件,则删除该文件夹,但是入口目标文件夹不删除。
9-24 3.php文件编程②-如何写文件 拷贝文件 创建和删除(文件夹、文件) 9-24 4.php文件编程③-文件的上传和下载 文件上传细节讨论 9-24 5.php文件编程④-mini文件共享网实现分析 9-24 6.PHP绘图技术 9-26 1 课程回顾 ...
2. 程序支持文件夹递归遍历,可以将所有叶子节点的路径提取出来统计,因此统计代码行的时候只需要指定项目文件根目录即可,不再需要将待统计的代码拷贝到指定目录下; 3. 程序采用分层的设计方案,模型层和视图层...
文件为doc版,可自行转成txt,在手机上看挺好的。 本资源来自网络,如有纰漏还请告知,如觉得还不错,请留言告知后来人,谢谢!!!!! 入门学习Linux常用必会60个命令实例详解 Linux必学的60个命令 Linux提供...
拷贝覆盖你的工作文件 下注:使用svn revert 提交你得修改 检验历史 svn log svn diff 比较本地修改 比较工作拷贝和版本库 比较版本库与版本库 svn cat svn list 关于历史的最后一个词 其他有用的命令 svn cleanup ...
Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码截图如上所示。 Java 数字签名、数字证书生成源码 2个目标文件 摘要:JAVA源码,...
Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码截图如上所示。 Java 数字签名、数字证书生成源码 2个目标文件 摘要:JAVA源码...
d 从压缩文件中删除文件。请注意,如果这个命令导致压缩文件中所有文件 全部删除,这个空的压缩文件将被删除。 e 解压文件到当前目录。 f 更新压缩文件中的文件。 更新打包到压缩文件后被改变的文件。这个...
拷贝覆盖你的工作文件 下注:使用svn revert 提交你得修改 检验历史 svn log svn diff 比较本地修改 比较工作拷贝和版本库 比较版本库与版本库 svn cat svn list 关于历史的最后一个词 其他有用的命令 svn cleanup ...