首页 > 代码库 > 遍历目录,查找文件并复制到另一目录
遍历目录,查找文件并复制到另一目录
编写一个程序,把某个目录下所有的带.java文件拷贝到另一个目录中,拷贝成功后,把后缀名是.java改成.txt
1 import java.io.BufferedReader; 2 import java.io.BufferedWriter; 3 import java.io.File; 4 import java.io.FileInputStream; 5 import java.io.FileNotFoundException; 6 import java.io.FileOutputStream; 7 import java.io.IOException; 8 import java.io.InputStreamReader; 9 import java.io.OutputStreamWriter;10 11 public class CopyFileDemo {12 public static void main(String[] args) {13 File file = new File("D://code");14 String suffix = ".java";15 findFile(file, suffix);16 System.out.println("文件复制成功!");17 }18 /**19 * 遍历目录,找出后缀为.java的文件20 * 21 * @param file22 * @param suffix23 */24 public static void findFile(File file, String suffix) {25 if (file == null)26 return;27 if (file.isDirectory()) {// 如果file对象是目录28 File[] files = file.listFiles();29 if (files != null) {30 for (File f : files) {31 findFile(f, suffix);32 }33 }34 } else {// 如果file对象是文件35 //获取jpg路径名36 String path = file.getPath().toLowerCase();37 //截取jpg文件名前缀38 String prefixName = path.substring(path.lastIndexOf("\\")+1, path.indexOf("."));39 String newFileName = prefixName + ".txt";40 if (path.endsWith(suffix)) {41 // 如果文件是java文件,复制到另一个目录42 File targetFile = new File("F:\\test" + File.separator + newFileName);43 copyFile(file, targetFile);44 }45 }46 }47 /**48 * 复制文件到另一个目录,同时修改文件后缀为.txt49 * 50 * @param sourceFile51 * @param targetFile52 * @param prefix53 * @param suffix54 */55 public static void copyFile(File sourceFile, File targetFile) {56 String line = null;57 BufferedReader br = null;58 BufferedWriter bw = null;59 try {60 br = new BufferedReader(new InputStreamReader(new FileInputStream(61 sourceFile)));62 bw = new BufferedWriter(new OutputStreamWriter(63 new FileOutputStream(targetFile)));64 while ((line = br.readLine()) != null) {65 bw.write(line);66 bw.flush();67 }68 } catch (FileNotFoundException e) {69 e.printStackTrace();70 } catch (IOException e) {71 e.printStackTrace();72 } finally {73 try {74 br.close();75 bw.close();76 } catch (Exception e) {77 e.printStackTrace();78 }79 }80 }81 }
遍历目录,查找文件并复制到另一目录
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。