此问题已在此处找到答案:
fileoutputstream将编码设置为utf-8(4个答案)
昨天关门了。
我正在构建一个java应用程序,它可以编写一些.csv文件,但我可以将它们保存在ansi编码上,并始终获得utf-8。
我已经看过很多类似的帖子了,但似乎什么都不起作用。
我的代码:
public void writeFile(String filePath, String fileName, StringBuilder fileContent) throws IOException {
try (OutputStream output = new FileOutputStream(filePath + File.separator + fileName);
OutputStreamWriter outputStreamWriter = new OutputStreamWriter(output, "windows-1252")) {
log.info("Writing on file: {}{}{}", filePath, File.separator, fileName);
outputStreamWriter.write(fileContent.toString());
}
}
在linux上运行应用程序会导致这个问题吗(因为它默认为utf-8)?
我在windows机器上使用notepad/notepad++检查编码,总是得到utf-8
和 file -bi [file]
在linux shell上,它为我提供了: text/plain; charset=us-ascii
1条答案
按热度按时间y1aodyip1#
那么...怎么样
new OutputStreamWriter(output, java.nio.charset.StandardCharsets.US_ASCII)
用于ascii编码?