在使用 Java 编程中,有时会碰到文件编码格式转换的需求。比如,有一个 UTF-8 编码格式的文件,而后续处理需要该文件为 GBK 编码格式,这时就需要进行文件编码的转换。本示例的目的就是实现将 UTF-8 编码的文件转换为 GBK 编码的文件。
示例代码:
package com.hxstrive.java_io.example; import java.io.*; public class EncodingConversionExample { public static void main(String[] args) { String inputFilePath = "input_utf8.txt"; String outputFilePath = "output_gbk.txt"; // 利用 java7 的 try-with-resource 自动关闭资源 // 且借助 InputStreamReader 和 OutputStreamWriter 来指定预期的编码格式 try (BufferedReader reader = new BufferedReader( new InputStreamReader(new FileInputStream(inputFilePath), "UTF-8")); BufferedWriter writer = new BufferedWriter( new OutputStreamWriter(new FileOutputStream(outputFilePath), "GBK"))) { // 逐行读取文件内容,写入到新的文件中 String line; while ((line = reader.readLine()) != null) { writer.write(line); writer.newLine(); } System.out.println("文件编码转换成功!"); } catch (IOException e) { System.err.println("文件编码转换过程中出现错误:" + e.getMessage()); } } }
准备 input_utf8.txt 文件,如下图:
运行后:
从上图,成功将文件转换成 GBK 格式,要转换成其他格式,操作类似。