上一篇
java写入文件中文乱码
- 行业动态
- 2024-05-22
- 4738
要解决Java写入文件中文乱码问题,可以在创建FileWriter对象时指定字符编码为UTF-8。
在Java中写入文件时,如果遇到中文乱码问题,通常是因为编码设置不正确导致的,以下是一些解决方法:
1、使用UTF8编码
在创建FileOutputStream对象时,指定编码为UTF8,示例代码如下:
import java.io.FileOutputStream; import java.io.IOException; public class WriteToFile { public static void main(String[] args) { String content = "你好,世界!"; try (FileOutputStream fos = new FileOutputStream("output.txt", true)) { fos.write(content.getBytes("UTF8")); } catch (IOException e) { e.printStackTrace(); } } }
2、使用OutputStreamWriter和BufferedWriter
使用OutputStreamWriter将字节流转换为字符流,并指定编码为UTF8,然后使用BufferedWriter进行缓冲写入,示例代码如下:
import java.io.BufferedWriter; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; public class WriteToFile { public static void main(String[] args) { String content = "你好,世界!"; try (FileOutputStream fos = new FileOutputStream("output.txt", true); OutputStreamWriter osw = new OutputStreamWriter(fos, "UTF8"); BufferedWriter bw = new BufferedWriter(osw)) { bw.write(content); bw.newLine(); } catch (IOException e) { e.printStackTrace(); } } }
3、使用PrintWriter
使用PrintWriter的构造函数指定编码为UTF8,示例代码如下:
import java.io.FileOutputStream; import java.io.IOException; import java.io.PrintWriter; public class WriteToFile { public static void main(String[] args) { String content = "你好,世界!"; try (FileOutputStream fos = new FileOutputStream("output.txt", true); PrintWriter pw = new PrintWriter(fos, "UTF8")) { pw.print(content); pw.println(); } catch (IOException e) { e.printStackTrace(); } } }
以上三种方法都可以解决Java写入文件中文乱码的问题。
本站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本站,有问题联系侵删!
本文链接:http://www.xixizhuji.com/fuzhu/199214.html