package io; import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.Collection; import java.util.List; import org.apache.commons.io.FileUtils; import org.apache.commons.io.FilenameUtils; import org.springframework.util.ResourceUtils; public class TestIo { public static void printStr() throws IOException { List<String> l = FileUtils.readLines(new File("D:\myeclipseworkspace\sy_gwcsUTF\WebRoot\WEB-INF\applicationContext.xml")); for (String s : l) { if(s.toUpperCase().contains("ENCODING="GBK"")) { s = s.replaceAll("encoding="GBK"", "encoding="UTF-8""); System.out.println("替换后"+s); } System.out.println(s); } } public static void bianma() throws Exception { String uft8Src = "D:\myeclipseworkspace\sy_gwcs_dm"; String gbkSrc = "D:\\myeclipseworkspace\\sy_gwcsUTF"; Collection<File> javaUtf8FileCol = FileUtils.listFiles(new File(uft8Src), new String[]{"xml"}, true); for (File javaUtf8File : javaUtf8FileCol) { //GBK格式文件路径 String gbkFilePath = gbkSrc+javaUtf8File.getAbsolutePath().substring(uft8Src.length()); //使用GBK读取数据,然后用UTF-8写入数据 List<String> lists = FileUtils.readLines(javaUtf8File, "GBK"); List<String> tolists = new ArrayList<String>(); for (String s : lists) { String content = s; System.out.println(s); if(s.toUpperCase().contains("ENCODING="GBK"")) { content = content.replaceAll("encoding="GBK"", "encoding="UTF-8""); content = content.replaceAll("encoding="gbk"", "encoding="UTF-8""); } tolists.add(content); } FileUtils.writeLines(new File(gbkFilePath), "UTF-8", tolists); } } public static void main(String[] args) throws Exception { /* * File f = ResourceUtils.getFile(ResourceUtils.CLASSPATH_URL_PREFIX * +"config.properties"); //按行读取文件内容 List<String> l = FileUtils.readLines(f); * * System.out.println(FilenameUtils.getExtension(f.getName())); * * System.out.println( System.getProperty("user.dir") + "\file\"); */ //TestIo.printStr(); TestIo.bianma(); //FileUtils.copyFile(srcFile, destFile);拷贝文件 //FileUtils.copyDirectory(srcDir, destDir);拷贝文件夹 //FileUtils.contentEquals(file1, file2)比较文件内容 //FileUtils.readFileToString(srcFile);读取文件内容 //FileUtils.writeStringToFile(srcFile, "xxxxxxxxxxxxxx","UTF-8"); 往文件中写入内容 /** * 空文件过滤 */ /*public void testEmptyFileFilter() throws IOException { File dir = new File(basePath); String[] files = dir.list(EmptyFileFilter.NOT_EMPTY); for(String file:files) { System.out.println(file); } }*/ /** * 文件名称过滤 */ /* * public void testSuffixFileFilter() throws IOException { File dir = new * File(basePath); String[] files = dir.list(new SuffixFileFilter(".txt")); * for(String file:files) { System.out.println(file); } } */ } }