本实例主要功能是实现文件夹的复制。文件夹的复制方法和文件基本类似。实现步骤如下。
(1)创建FolderCopy类,在main()主方法中建立源文件夹和目标文件夹两个对象,调用源文件夹的listFiles()方法获取文件数组(即文件列表),通过这个文件数组和目标文件夹调用copy()方法完成文件夹的复制。
(2)在该类中创建copy()方法,该方法接收文件数组和目标文件夹两个参数,如果目标文件夹不存在,则调用mkdir()方法创建文件夹;然后在循环中判断文件数组中的每个文件对象,如果文件对象是文件类型则复制该文件到目标文件夹中,如果该文件对象是文件夹类型,则调用该方法的listFiles()方法获取该文件夹的文件数组(即文件夹的文件列表),创建新的目标文件夹对象;再通过文件数组和目标文件夹嵌套调用该方法,这样就能把文件夹所有的东西复制到另外一个文件夹下。关键代码如下:
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
public class FolderCopy {
public static void main(String[] args) {
File sourFile = null, desFile = null;
String sourFolder = "c:/test";
String desFolder = "c:/copyTest";
sourFile = new File(sourFolder);
if (!sourFile.isDirectory() || !sourFile.exists()) {
System.out.println("原文件夹不存在");
}
desFile = new File(desFolder);
desFile.mkdir();
copy(sourFile.listFiles(), desFile);
}
private static void copy(File[] s, File d) {
if (!d.exists())
d.mkdir();
for (int i = 0; i < s.length; i++) {
if (s[i].isFile()) {
try {
FileInputStream fis = new FileInputStream(s[i]);
FileOutputStream out = new FileOutputStream(new File(d
.getPath()
+ File.separator + s[i].getName()));
int count = fis.available();
byte[] data = new byte[count];
if ((fis.read(data)) != -1) {
out.write(data);
}
out.close();
fis.close();
} catch (Exception e) {
e.printStackTrace();
}
}
if (s[i].isDirectory()) {
File des = new File(d.getPath() + File.separator
+ s[i].getName());
des.mkdir();
copy(s[i].listFiles(), des);
}
}
}
}
分享到:
相关推荐
java实现一个目录下全部文件复制到另一目录。过程主要是 循环第一个目录下的文件,然后输出流到另一个目录。
文件夹的复制功能,使用字节流读取功能。还有文件的创建等功能
里面有整个java复制文件及复制文件夹的代码,直接复制到eclipse等开发工具中既能使用;
Java中实现复制文件或文件夹Java中实现复制文件或文件夹Java中实现复制文件或文件夹
用户java实现了文件夹的复制。主要是用了递归方法遍历文件夹下的子文件
java中实现复制文件和文件夹 public static void copyFile(File sourceFile,File targetFile) throws IOException{ // 新建文件输入流并对它进行缓冲 FileInputStream input = new FileInputStream(sourceFile)...
java用递归实现文件及文件夹的复制,注意递归中的变量属性
改代码,用java简单的实现了文件夹、文件的复制
Java文件夹复制(远程复制(网络传输),用于远程备份文件)(支持文件夹,嵌套子文件夹) import java.io.*; import java.util.*; public class FileSelection { private File rootDirectory;//根目录 private ...
用java实现的多级文件夹的复制,可用于文件复制的复制与备份
文件复制功能。如运行:java CopyFile from to,将from文件内的数据复制到to文件中,如果from为文件夹,则复制文件夹及其所有的子文件
java 批量复制文件并把路径插入到数据库表中; 包括:读取文件夹列表、子文件夹;新建一个文件夹;Oracle数据库链接; 修改一下链接数据库以及文件夹路径即可
java操作文件及文件夹 移动、复制、删除文件及文件夹
源文件 博文链接:https://xiaoyuclub.iteye.com/blog/858590
纯java实现,nio复制。其中文件夹复制同步使用channel实现,文件夹的交并集对比使用lamda实现,文件的同步比对逻辑通过比对文件的大小、日期、修改时间等实现
FileFilter实例,搜索文件夹下特定的文件,并对这些文件进行提取,将文件拷贝到另一文件夹下
java实现工具类实现复制、粘贴、剪切、删除文件和文件夹
java复制工具类,用于生成input和output文件,当有input文件的情况,会复制input文件夹下的内容到output文件夹下。 例如:C:/input--->C:/output
实现一个文件夹的拷贝,复制完成之后删除原文件夹。
java文件夹和文件复制,