我正在尝试将不同语言的字符串写入 rtf 文件。我尝试了一些不同的东西。我在这里以日语为例,但我尝试过的其他语言也是如此。
public void writeToFile(){
String strJapanese = "日本語";
DataOutputStream outStream;
File file = new File("C:\\file.rtf");
try{
outStream = new DataOutputStream(new FileOutputStream(file));
outStream.writeBytes(strJapanese);
outStream.close();
}catch (Exception e){
System.out.println(e.toString());
}
}
我也试过:
byte[] b = strJapanese.getBytes("UTF-8");
String output = new String(b);
或更具体:
byte[] b = strJapanese.getBytes("Shift-JIS");
String output = new String(b);
输出流也有 writeUTF 方法:
outStream.writeUTF(strJapanese);
您可以通过 write 方法直接在输出流中使用 byte[]。除西欧语言外,以上所有内容都为我提供了乱码。为了查看它是否有效,我尝试在 notepad++ 中打开结果文档并设置适当的编码。我还使用过 OpenOffice,您可以在打开文档时选择编码和字体。
如果它确实有效但我的电脑无法正常打开它,有没有办法检查?