当前位置: 代码迷 >> 综合 >> java基础-文件复制,修改后缀名
  详细解决方案

java基础-文件复制,修改后缀名

热度:80   发布时间:2023-09-23 11:58:26.0
package file;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;/** 需求:复制指定目录下的指定文件,并修改后缀名。* 指定的文件是:.java文件。* 指定的后缀名是:.jad* 指定的目录是:jad* 数据源:d:\\java\\CopyFolderDemo.java* 目的地:d:\\jad\\CopyFolderDemo.jad* 分析:* 		A:封装目录* 		B:获取该目录下的java文件的File数组* 		C:遍历该File数组,得到每一个File对象* 		D:把该File进行复制* 		E:在目的地目录下改名*/
public class CopyFolderDemo {public static void main(String[] args) throws IOException {// 封装目录File srcFolder = new File("d:\\java");// 封装目的地File destFolder = new File("d:\\jad");// 如果目的地目录不存在,就创建if (!destFolder.exists()) {destFolder.mkdir();}// 获取该目录下的java文件的File数组File[] fileArray = srcFolder.listFiles(new FilenameFilter() {@Overridepublic boolean accept(File dir, String name) {return new File(dir, name).isFile() && name.endsWith(".java");}});// 遍历该File数组,得到每一个File对象for (File file : fileArray) {// System.out.println(file);// 数据源:d:\java\// 目的地:d:\\jad\String name = file.getName();File newFile = new File(destFolder, name);copyFile(file, newFile);}// 在目的地目录下改名File[] destFileArray = destFolder.listFiles();for (File destFile : destFileArray) {// System.out.println(destFile);// d:\jad\\// d:\\jad\\String name =destFile.getName(); String newName = name.replace(".java", ".jad");File newFile = new File(destFolder,newName);destFile.renameTo(newFile);}System.out.println("OK!");}private static void copyFile(File file, File newFile) throws IOException {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(bys)) != -1) {bos.write(bys, 0, len);}bos.close();bis.close();}
}