本帖最后由 Kevin.Kang 于 2015-7-28 17:08 编辑
- package com.kxg_2;
- import java.io.BufferedInputStream;
- import java.io.BufferedOutputStream;
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.FileOutputStream;
- import java.io.FilenameFilter;
- import java.io.IOException;
- /*
- * 需求:复制指定文件夹下的指定格式的文件并修改格式。
- * D:\T文件夹中的.java格式文件复制到D:\K文件夹并改为.avi格式
- */
- public class Copy2 {
- public static void main(String[] args) throws IOException {
- // 封装数据源
- File srcFolder = new File("D:\\T");
- // 封装目的地
- File destFolder = new File("D:\\K");
-
- // 如果目的地文件夹不存在就创建一个
- if(!destFolder.exists())
- {
- destFolder.mkdir();
- }
-
- // 利用文件过滤器把.java文件都存放到File对象数组中
- File[] fileArray = srcFolder.listFiles(new FilenameFilter() {
- @Override
- public boolean accept(File dir, String name) {
- return new File(dir,name).isFile() && name.endsWith(".java");
- }
- });
- // 遍历每一个File对象
- for(File srcFile : fileArray)
- {
- // 获取每个File对象的名字并把.java改为.avi。然后和目的地文件组合成一个目的文件
- File destFile = new File(destFolder, srcFile.getName().replace(
- ".java", ".avi"));
- // 把数据源文件的内容复制到目的文件
- 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 = 0;
- while ((len = bis.read(bys)) != -1) {
- bos.write(bys, 0, len);
- }
- // 注意释放资源,不释放资源数据就进入不到目的地文件中去
- bis.close();
- bos.close();
- }
- }
复制代码
|
|