java写文件避免乱码代码如下:
代码语言:javascript复制/**
*
* @Title: writeFile
* @Description: 写文件
* @param @param filePath 文件路径
* @param @param fileContent 文件内容
* @return void 返回类型
* @throws
*/
public static void writeFile(String filePath, String fileContent) {
try {
File f = new File(filePath);
if (!f.exists()) {
f.createNewFile();
}
OutputStreamWriter write = new OutputStreamWriter(new FileOutputStream(f), "UTF-8");
BufferedWriter writer = new BufferedWriter(write);
writer.write(fileContent);
writer.close();
} catch (Exception e) {
System.out.println("写文件内容操作出错");
e.printStackTrace();
}
}
主要实现代码:OutputStreamWriter write = new OutputStreamWriter(new FileOutputStream(f), "UTF-8");
OutputStreamWriter是从字符流到字节流的桥接:使用指定的字符集将写入其中的字符编码为字节。它使用的字符集可以通过名称指定,也可以明确指定,或者可以接受平台的默认字符集。
每次调用write()方法都会导致在给定字符上调用编码转换器。生成的字节在写入底层输出流之前在缓冲区中累积。可以指定此缓冲区的大小,但默认情况下,它足够大,可用于大多数用途。请注意,传递给write()方法的字符不会被缓冲。
OutputStreamWriter流中的构造方法可以指定字符集,或者不设置取默认值。