思路
1.创建数据源目录File对象
2.获取数据源目录File对象的名称(itcast)
3.创建目的地目录File对象,路径名是模块名+itcast组成
4.判断目的地的目录对应的File是否存在, 如果不存在, 就创建
5.获取数据源目录下所有文件的File数组
6.遍历File数组,得到每一个File对象 , 该File对象, 其实就是数据源文件
7.获取数据源文件File对象的名称
8.创建目的地文件File对象
9.复制文件(由于文件不仅有字节文件, 还有图片, 视频等文件,所以采用字节流复制文件)
代码示例
public static void main(String[] args) throws IOException {
//创建数据源目录File对象
File srcFolder = new File("D:\\itcast");
//获取数据源目录File对象的名称(itcast)
String srcFolderName = srcFolder.getName();
//创建目的地目录File对象,路径名是模块名+itcast组成(StreamModul\\itcast)
File destFolder = new File("StreamModul", srcFolderName);
//判断目的地的目录对应的File是否存在, 如果不存在, 就创建
if (!destFolder.exists()) {
destFolder.mkdir();
}
//获取数据源目录下所有文件的File数组
File[] listFiles = srcFolder.listFiles();
//遍历File数组,得到每一个File对象 , 该File对象, 其实就是数据源文件
for (File srcFile : listFiles) {
//获取数据源文件File对象的名称
String srcFileName = srcFile.getName();
//创建目的地文件File对象
File destFile = new File(destFolder, srcFileName);
//复制文件
copyFile(srcFile, destFile);
}
}
复制的方法
private static void copyFile(File srcFile, File destFile) throws IOException {
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(srcFile));
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(destFile));
byte[] bys = new byte[1024];
int len;
while ((len = bis.read(bys)) != -1) {
bos.write(bys, 0, len);
}
bos.close();
bis.close();
}