java文件编码格式转换工具类

    技术2022-07-10  133

    import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.PrintWriter; public class CharSetChangeUtil { //使用示例,从utf-16转换为utf-8 public static void main(String[] args) { File file = new File("D:\\user\\Developer08\\DBSource"); String charSetFrom = "utf-16"; String charSetTo = "utf-8"; change(file, charSetFrom, charSetTo); } /** * @param f 文件目录或文件 * @param charSetFrom 原编码格式 * @param charSetTo 转换后编码格式 */ public static void change(File f, String charSetFrom, String charSetTo) { if (f.isDirectory()) { for (File file: f.listFiles()) { change(file, charSetFrom, charSetTo); } return; } try { InputStreamReader input = new InputStreamReader(new FileInputStream(f),charSetFrom); BufferedReader bReader = new BufferedReader(input); StringBuilder sb = new StringBuilder(); String s = ""; while ((s =bReader.readLine()) != null) { sb.append(s + "\n"); } bReader.close(); String str = sb.toString(); PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(new FileOutputStream(f),charSetTo))); out.append(str); out.flush(); out.close(); System.out.println(f.getName() +"转换格式成功"); } catch (Exception e) { System.out.println(f.getName() +"转换格式出错"); } } }

     

    Processed: 0.009, SQL: 9