Java 怎么把UTF-8转换成ANSI格式的文件编码
时间: 2024-02-16 22:02:39 浏览: 347
UTF-8转ANSI源码
在Java中,可以使用InputStreamReader和OutputStreamWriter将UTF-8编码的文件转换为ANSI编码的文件。以下是一个示例代码:
```java
import java.io.*;
public class UTF8ToANSIConverter {
public static void main(String[] args) throws IOException {
// 读取UTF-8编码的文件
FileInputStream inputStream = new FileInputStream("input.txt");
InputStreamReader reader = new InputStreamReader(inputStream, "UTF-8");
// 写入ANSI编码的文件
FileOutputStream outputStream = new FileOutputStream("output.txt");
OutputStreamWriter writer = new OutputStreamWriter(outputStream, "ANSI");
// 逐行读取并写入文件
BufferedReader bufferedReader = new BufferedReader(reader);
BufferedWriter bufferedWriter = new BufferedWriter(writer);
String line;
while ((line = bufferedReader.readLine()) != null) {
bufferedWriter.write(line);
bufferedWriter.newLine();
}
// 关闭流
bufferedReader.close();
bufferedWriter.close();
}
}
```
在上面的示例代码中,首先使用FileInputStream和InputStreamReader读取UTF-8编码的文件,然后使用FileOutputStream和OutputStreamWriter写入ANSI编码的文件。由于UTF-8和ANSI编码的字符集不同,因此在创建InputStreamReader和OutputStreamWriter时需要指定相应的字符集。最后使用BufferedReader和BufferedWriter逐行读取和写入文件,并在写入每行时加上换行符。读写完成后,关闭流即可。
需要注意的是,将UTF-8编码的文件转换为ANSI编码时可能会出现乱码或字符集不兼容的情况,因此建议在转换前备份原文件,以防数据丢失。
阅读全文