复制文件夹中所有内容到指定位置

 复制文件夹中所有内容到指定位置 /**
	   * 复制文件夹下的所有文件到指定目录
	   * @param oldPath
	   * @param newPath
	   */

	  public static void copyFolder(String oldPath, String newPath) {
			try {
				// 如果文件夹不存在,则建立新文件夹
				(new File(newPath)).mkdirs();
				//读取整个文件夹的内容到file字符串数组,下面设置一个游标i,不停地向下移开始读这个数组
				File filelist = new File(oldPath);
				String[] file = filelist.list();
				//要注意,这个temp仅仅是一个临时文件指针
				//整个程序并没有创建临时文件
				File temp = null;
				for (int i = 0; i < file.length; i++) {
					//如果oldPath以路径分隔符/或者\结尾,那么则oldPath/文件名就可以了
					//否则要自己oldPath后面补个路径分隔符再加文件名
					//谁知道你传递过来的参数是f:/a还是f:/a/啊?
					if (oldPath.endsWith(File.separator)) {
						temp = new File(oldPath + file[i]);
					} else {
						temp = new File(oldPath + File.separator + file[i]);
					}

					//如果游标遇到文件
					if (temp.isFile()) {
						FileInputStream input = new FileInputStream(temp);
						FileOutputStream output = new FileOutputStream(newPath
								+ "/" + "rename_" + (temp.getName()).toString());
						byte[] bufferarray = new byte[1024 * 64];
						int prereadlength;
						while ((prereadlength = input.read(bufferarray)) != -1) {
							output.write(bufferarray, 0, prereadlength);
						}
						output.flush();
						output.close();
						input.close();
					}
					//如果游标遇到文件夹
					if (temp.isDirectory()) {
						copyFolder(oldPath + "/" + file[i], newPath + "/" + file[i]);
					}
				}
			} catch (Exception e) {
				System.out.println("复制整个文件夹内容操作出错");
			}
		}
时间: 2024-08-25 22:28:32

复制文件夹中所有内容到指定位置的相关文章

Path,Files巩固,题目:从键盘接收两个文件夹路径,把其中一个文件夹中(包含内容)拷贝到另一个文件夹中

这个题目用传统的File,InputStream可以做,但是如果用Files,Path类做,虽然思路上会困难一些,但是代码简洁了很多,以下是代码: import java.io.IOException; import java.nio.file.FileVisitResult; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.nio.file.Simple

Android读取Assets文件夹中的内容

Android读取Assets文件夹中的内容 assets文件夹是android程序中存放相关外部文件的一个目录,Android官方提供了相应的方法去访问该文件夹中的内容,故此我们并不需要进行相关的路径判断等代码操作,直接调用相关方法打开文件并得到一个字节输入流(InputStream):然后通过相应的字符编码方式读取字节解码为字符输入流(InputStreamReader):再通过BufferReader对字符输入流读取文本并将字符存入缓冲区以便能提供字符.数组和线段的高效读取:最后我们就能逐

VBA读取固定文件夹中txt内容

Sub OneTxt() '打开一个txt文件 Dim Filename As Variant, extLine&, mArr() As String Dim i%, j%, txtpath As String Dim txtname As Variant ChDir ThisWorkbook.Path txtpath = "D:\Users\addy.zhao\Desktop\computers\" 'Filename = Application.GetOpenFilenam

java 复制文件夹中epub、html、txt文件 (按原来文件夹存放)

原来文件夹中的文件:有epub/html/txt import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; /** * 复制文件夹中所有包含.epub后缀的文件 * @author fibre * parameter SUFFIX = ".epub&qu

Web 在线文件管理器学习笔记与总结(10)查看文件夹中的内容

① 读取文件夹大小 a. 封装计算文件夹大小的函数 b.  打开文件夹 c. 循环判断文件夹下的内容是文件还是文件夹,如果是文件,则累积相加文件的大小:如果是文件夹,则递归调用该函数 注意两个问题: a. 在计算每个文件夹大小之前,应该清空变量 $size,否则文件夹大小会累加(index.php) <td><?php $size = 0; echo transByte(dirSize($p));?></td> b. 在计算文件夹大小的方法中,$size 应该设置为全局

使用IO流对文件夹的复制(文件夹中带有子目录)

当我们要复制带有子目录的文件夹的时候,就必须使用递归,这样才能把全部的文件夹都复制到位 思路和步骤: 对于文件夹的复制,分2种情况               (1)当我们对文件进行遍历的时候,如果目标文件夹下的文件是个标准文件的话,我们就可以直接去做复制的动作,               (2)当目标文件中,是带有文件夹的文件,那么这个时候就需要对文件夹进行递归,直到最后它是个标准文件后,我们在做复制动作 有了上述的2种情况后,那么这个需求,需要提供2种方法,1是对标准文件的复制,2是对带有

java复制文件夹中的所有文件和文件夹到另一个文件夹中

1.复制文件夹 public static void copyDir(String oldPath, String newPath) throws IOException { File file = new File(oldPath); String[] filePath = file.list(); if (!(new File(newPath)).exists()) { (new File(newPath)).mkdir(); } for (int i = 0; i < filePath.l

java IO流实现删除文件夹以及文件夹中的内容

这篇主要是对IO文件流对文件常用处理中的删除文件夹,平时我们直接删除文件夹既可以删除里面的全部内容. 但是java在实现删除时,只能是文件才会被删除. 所以这里需要定义一个方法,来递归调用方法(递归调用,就是在方法的内部调用自己),实现文件夹里面的全部文件删除 注意:做这个测试的时候,一定要备份,如果删除成功就不会回复了 结果如下:

在Eclipse的DDMS中查看手机data文件夹中的内容

在模拟器状态下,在Eclipse的DDMS中的File Explorer下查看手机data/data中的内容是件非常轻松的事情,特别是查看databases 但是在真机模式下就全然不是那么一回事了,在DDMS中的data文件夹无法展开,why? 解决方法: 1.手机获取ROOT权限: 2.更改文件夹权限,获取文件夹读写权限: 传统模式: 1.打开运行,在命令行下键入cmd (我们假设你使用的window系统) 2.再键入adb shell(什么?你的竟然提示“不是内部或外部命令,也不是可运行的程