这里简要讲解一下如何使用Java的文件输入输出流实现文件夹内所有文件拷贝到另一个文件夹。
用途
该功能可帮助用户将一个文件夹里的所有文件拷贝到另一个目录下,实现备份和移植数据的功能。
实现步骤
实现该功能需要以下几个步骤:
- 找到源文件夹和目标文件夹
- 获取源文件夹下的所有文件及文件夹
- 遍历源文件夹下的每个文件,若是文件则新建文件并写入,若是文件夹则递归调用本身
- 结束遍历
代码示例
import java.io.*;
public class FileCopy {
public static void copyFile(File source, File targetDir) throws IOException {
if (!targetDir.exists()) {
targetDir.mkdir();
}
if (source.isFile()) {
FileInputStream fis = new FileInputStream(source);
String targetFilePath = targetDir.getPath() + File.separator + source.getName();
FileOutputStream fos = new FileOutputStream(targetFilePath);
int len;
byte[] buffer = new byte[1024];
while ((len = fis.read(buffer)) != -1) {
fos.write(buffer, 0, len);
}
fos.flush();
fos.close();
fis.close();
} else if (source.isDirectory()) {
File[] files = source.listFiles();
for (File file : files) {
String dir = targetDir.getPath() + File.separator + source.getName();
copyFile(file, new File(dir));
}
}
}
public static void main(String[] args) throws IOException {
File source = new File("/Users/username/Documents/sourceFolder");
File target = new File("/Users/username/Documents/targetFolder");
copyFile(source, target);
}
}
示例说明
以下以macOS操作系统的文件夹为例进行说明:
- 在你的计算机桌面上默认有一个Documents文件夹,该文件夹下有一个sourceFolder文件夹。
- 在桌面上新建一个targetFolder文件夹,用以保存拷贝的文件。
- 执行代码后,程序会将sourceFolder下的所有文件和子文件夹里的文件全部拷贝到targetFolder下。
以上就是利用Java文件输入输出流实现文件夹内所有文件拷贝到另一个文件夹的完整攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java利用文件输入输出流实现文件夹内所有文件拷贝到另一个文件夹 - Python技术站