JAVA 递归批量更改文件后缀名 删除后缀

来源:互联网 发布:标准煤样数据库 编辑:程序博客网 时间:2024/05/16 12:02

核心是File.rename()方法的使用

//1.更改后缀public static void changeSuffix(String pathDir, final String oldSuffix, String newSuffix) {File dir = new File(pathDir);File[] files = dir.listFiles(new FileFilter(){@Overridepublic boolean accept(File pathname) {if (pathname.isDirectory() || pathname.getName().endsWith(oldSuffix)) {return true;}return false;}});for (File file : files) {if (file.isDirectory()) {changeSuffix(file.getAbsolutePath(), oldSuffix, newSuffix); // 目录继续} else {String fileName = file.getAbsolutePath();fileName = fileName.substring(0, fileName.indexOf(oldSuffix)) + newSuffix;  // 更改后缀file.renameTo(new File(fileName));}}}// 测试String pathDir = "d:\\test";String oldSuffix = ".txt";String newSuffix = ".txt.bak";changeSuffix(pathDir, oldSuffix, newSuffix);// 2.删除指定后缀名public static void removeSuffix(String pathDir, final String suffix) {File dir = new File(pathDir);File[] files = dir.listFiles(new FileFilter(){@Overridepublic boolean accept(File pathname) {if (pathname.isDirectory() || pathname.getName().endsWith(suffix)) {return true;}return false;}});for (File file : files) {if (file.isDirectory()) {removeSuffix(file.getAbsolutePath(), suffix); // 目录继续} else {String fileName = file.getAbsolutePath();fileName = fileName.substring(0, fileName.indexOf(suffix));  // 删除后缀file.renameTo(new File(fileName));}}}// 测试String pathDir = "d:\\test";String suffix = ".bak";removeSuffix(pathDir, suffix);



0 0
原创粉丝点击