package cn.idcast2; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.FilenameFilter; import java.io.IOException; public class Day12 { /* * 需求:复制指定目录下的指定文件,并修改后缀名。 指定的目录是:jad 指定的文件是:.java文件 指定的后缀名是:.jad * * 数据源:e:\\java\\A.java * 目的地:e:\\jad\\A.jad * * 分析: * A:封装目录 * B:获取该目录下的java文件的File数组 * C:遍历该File数组,得到每一个File对象 * D:把该File进行复制 * E:在目的地目录下改名 */ public static void main(String[] args) throws IOException { File srcFolder = new File("e:\\java"); File destFolder = new File("e:\\jad"); if (!destFolder.exists()) { destFolder.mkdir(); } //File的文件名称过滤器功能 File[] fileArray = srcFolder.listFiles(new FilenameFilter() { @Override public boolean accept(File dir, String name) { // TODO Auto-generated method stub return new File(dir, name).isFile() && name.endsWith(".jpg"); } }); for (File file : fileArray) { String name = file.getName(); //得到e:\\java目录下的A.java文件名称 File newFile = new File(destFolder, name); //这里显示的为e:\\jad\\A.java copyFile(file, newFile); } File[] destFileArray = destFolder.listFiles(); for (File destFile : destFileArray) { String name = destFile.getName(); //得到e:\\jad目录下的A.java String newName = name.replace(".java", ".jad"); //得到e:\\jad目录下的A.jad File newFile = new File(destFolder, newName); //这里显示的为e:\\jad\\A.jad destFile.renameTo(newFile); } } private static void copyFile(File file, File newFile) throws IOException { // TODO Auto-generated method stub BufferedInputStream bis = new BufferedInputStream(new FileInputStream( file)); BufferedOutputStream bos = new BufferedOutputStream( new FileOutputStream(newFile)); byte[] bys = new byte[1024]; int len = 0; while ((len = bis.read()) != -1) { bos.write(bys, 0, len); } bis.close(); bos.close(); } }
时间: 2024-10-12 05:34:45