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); } }
*/
}
}