工具类

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

}
原文地址:https://www.cnblogs.com/jentary/p/11174723.html