`
从此醉
  • 浏览: 1044897 次
  • 性别: Icon_minigender_1
  • 来自: US
社区版块
存档分类
最新评论

用java实现的文件夹复制与删除的程序

 
阅读更多

       private void deleteFile(File file) {
		if (file.exists()) { // 判断文件是否存在
			if (file.isFile()) { // 判断是否是文件
				file.delete(); // delete()方法 你应该知道 是删除的意思;
			} else if (file.isDirectory()) { // 否则如果它是一个目录
				File files[] = file.listFiles(); // 声明目录下所有的文件 files[];
				for (int i = 0; i < files.length; i++) { // 遍历目录下所有的文件
					this.deleteFile(files[i]); // 把每个文件 用这个方法进行迭代
				}
			}
			file.delete();
		} else {
			System.out.println("所删除的文件不存在!" + '\n');
		}
	}

	// 复制文件
	public static void copyFile(File sourceFile, File targetFile)
			throws IOException {
		// 新建文件输入流并对它进行缓冲
		FileInputStream input = new FileInputStream(sourceFile);
		BufferedInputStream inBuff = new BufferedInputStream(input);

		// 新建文件输出流并对它进行缓冲
		FileOutputStream output = new FileOutputStream(targetFile);
		BufferedOutputStream outBuff = new BufferedOutputStream(output);

		// 缓冲数组
		byte[] b = new byte[1024 * 5];
		int len;
		while ((len = inBuff.read(b)) != -1) {
			outBuff.write(b, 0, len);
		}
		// 刷新此缓冲的输出流
		outBuff.flush();

		// 关闭流
		inBuff.close();
		outBuff.close();
		output.close();
		input.close();
	}

	// 复制文件夹
	public static void copyDirectiory(String sourceDir, String targetDir)
			throws IOException {
		// 新建目标目录
		(new File(targetDir)).mkdirs();
		// 获取源文件夹当前下的文件或目录
		File[] file = (new File(sourceDir)).listFiles();
		if (file != null) {

			for (int i = 0; i < file.length; i++) {
				if (file[i].isFile()) {
					// 源文件
					File sourceFile = file[i];
					// 目标文件
					File targetFile = new File(
							new File(targetDir).getAbsolutePath()
									+ File.separator + file[i].getName());
					copyFile(sourceFile, targetFile);
				}
				if (file[i].isDirectory()) {
					// 准备复制的源文件夹
					String dir1 = sourceDir + "/" + file[i].getName();
					// 准备复制的目标文件夹
					String dir2 = targetDir + "/" + file[i].getName();
					copyDirectiory(dir1, dir2);
				}
			}
		}
	}

网上关于这方面的程序算法很多,由于我最近工作中要用到这方面的东西,所以对一些进行了挑选,下面的觉得还不错,仅供参考。。。。



分享到:
评论

相关推荐

    java对文件的复制和删除(文件夹、文件)

    利用java语言对文件进行复制和删除操作,并且使用了单例模式,程序可正确运行,

    java编写的命令行文件/文件夹管理程序

    java编写的命令行文件管理程序,可对文件或文件夹进行复制,删除,重命名,加密解密,压缩解压缩等功能

    java程序里实现ssh, scp, sftp

    在java里可以通过Ganymed SSH-2, Expect4j等实现ssh登录,由于Ganymed SSH-2是纯java实现,并且可以实现scp,sftp等,因此我们采用Ganymed SSH-2 1&gt; 下载安装 从http://code.google.com/p/ganymed-ssh-2/ 下载...

    java源码包---java 源码 大量 实例

     Java实现的FTP连接与数据浏览程序,实现实例化可操作的窗口。  部分源代码摘录:  ftpClient = new FtpClient(); //实例化FtpClient对象  String serverAddr=jtfServer.getText(); //得到服务器地址  ...

    Java实现zp大文件解压、合并、复制、删除(30万文件大约2个小时)

    2. 程序用log4j记录日志,日志分正常信息跟错误信息两个级别,日志文件存放在log4j文件夹下。考虑到文件很多,日志解压、移动文件每解压、移动1000个记录一次,合并、删除文件每合并、删除50000个记录一次, 3. 启动...

    java源码包4

     Java实现的FTP连接与数据浏览程序,实现实例化可操作的窗口。  部分源代码摘录:  ftpClient = new FtpClient(); //实例化FtpClient对象  String serverAddr=jtfServer.getText(); //得到服务器...

    java源码包2

     Java实现的FTP连接与数据浏览程序,实现实例化可操作的窗口。  部分源代码摘录:  ftpClient = new FtpClient(); //实例化FtpClient对象  String serverAddr=jtfServer.getText(); //得到服务器...

    java源码包3

     Java实现的FTP连接与数据浏览程序,实现实例化可操作的窗口。  部分源代码摘录:  ftpClient = new FtpClient(); //实例化FtpClient对象  String serverAddr=jtfServer.getText(); //得到服务器...

    JAVA上百实例源码以及开源项目源代码

     Java实现的FTP连接与数据浏览程序,实现实例化可操作的窗口。  部分源代码摘录:  ftpClient = new FtpClient(); //实例化FtpClient对象  String serverAddr=jtfServer.getText(); //得到服务器地址  ...

    JAVA上百实例源码以及开源项目

    百度云盘分享 ... Java实现的FTP连接与数据浏览程序,实现实例化可操作的窗口。  部分源代码摘录:  ftpClient = new FtpClient(); //实例化FtpClient对象  String serverAddr=jtfServer.getText();...

     一.JAVA程序传送到手机的方法:

    一.JAVA程序传送到手机的方法:  JAVA程序传送到手机的方法有4种,分别是手机上网直接下载安装,通过电脑下载到本地 后,然后通过读卡器,数据线,蓝牙,红外线传输JAVA程序... (9) 安装好的游戏在娱乐多媒体-JAVA文件夹里

    JavaWord类库操作API_Free Spire.Doc for Java_5.1.0

    1.功能: ... 1.2 文档操作:超链接添加、编辑、删除、读取;...lib文件夹下包含了用于在java程序中的Spire.Doc.jar文件,在项目程序中调用接口方法时,需要导入该jar文件;doc文件下包含了所有类及方法的说明解释等。

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    Java实现的FTP连接与数据浏览程序 1个目标文件 摘要:Java源码,网络相关,FTP Java实现的FTP连接与数据浏览程序,实现实例化可操作的窗口。 部分源代码摘录: ftpClient = new FtpClient(); //实例化FtpClient对象 ...

    反编译指定文件夹下的所有jar包和calss文件,并放到原目录结构中(本项目是java开发的项目使用了springboot框架)

    6.保存java文件后程序会删除class文件 7.删除class文件的原因是程序可以手动终止,重启会继续反编译剩下的class文件(类似断点续传) 8.启动程序前请备份目标文件夹,防止丢失jar包文件 9.此程序为提高效率使用到多...

    成百上千个Java 源码DEMO 3(1-4是独立压缩包)

    Java实现的FTP连接与数据浏览程序 1个目标文件 摘要:Java源码,网络相关,FTP Java实现的FTP连接与数据浏览程序,实现实例化可操作的窗口。 部分源代码摘录: ftpClient = new FtpClient(); //实例化FtpClient对象 ...

    java模拟qq源码

    (4)单击【下一步】按钮,单击【浏览】按钮,选择程序所在目录,然后勾选“将项目复制到工作空间中”复选框,如图1.2所示。 图1.2 “导入”窗口 (5)单击【完成】按钮。 (6)在项目上单击鼠标右键,依次选择...

    java开发的企业内部通讯系统

    (4)单击【下一步】按钮,单击【浏览】按钮,选择程序所在目录,然后勾选“将项目复制到工作空间中”复选框,如图1.2所示。 图1.2 “导入”窗口 (5)单击【完成】按钮。 (6)在项目上单击鼠标右键,依次选择...

    JAVA 范例大全 光盘 资源

    实例80 删除文件夹和文件 201 实例81 文件复制与移动 204 实例82 多种方式读取文件内容 209 实例83 多种方式写文件 213 实例84 随机访问文件 216 实例85 追加文件内容 219 实例86 文件锁定 220 实例87 分割与...

Global site tag (gtag.js) - Google Analytics