当前位置: 首页 > 面试题库 >

将unicode写入rtf文件

蔡鸿骞
2023-03-14
问题内容

我正在尝试将不同语言的字符串写入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,在打开文档时可以选择编码和字体。

如果它可以运行,但是我的计算机无法正常打开,是否可以检查?


问题答案:

默认情况下,JAVA中的字符串采用UTF-8(Unicode)格式,但是当您要写下来时,则需要指定编码

try {
    FileOutputStream fos = new FileOutputStream("test.txt");
    Writer out = new OutputStreamWriter(fos, "UTF8");
    out.write(str);
    out.close();
} catch (IOException e) {
    e.printStackTrace();
}

参考:http :
//download.oracle.com/javase/tutorial/i18n/text/stream.html



 类似资料:
  • 问题内容: 我正在从Google文档中提取数据,进行处理,然后将其写入文件(最终我将其粘贴到Wordpress页面中)。 它具有一些非ASCII符号。如何将这些安全地转换为可以在HTML源代码中使用的符号? 目前,我正在将所有内容都转换为,将它们全部合并为Python字符串,然后执行以下操作: 最后一行存在编码错误: 编解码器无法解码位置12286的字节:序数不在范围内(128) 部分解决方案:

  • 我正在使用twitter python库从公共流中获取一些推文。该库以json格式获取推文并将其转换为python结构。我正在尝试做的是直接获取json字符串并将其写入文件。在twitter库中,它首先读取网络套接字并将应用到缓冲区。然后,它将信息包装在python结构中并返回。我可以使用将其编码回json字符串并将其保存到文件中。但是我想字符编码有问题。当我尝试打印json字符串时,它在控制台中

  • 问题内容: 我想使用Apache PDFBox 1.8.8创建一个包含Unicode字符的PDF,但是我对支持什么和不支持什么感到困惑。 请有人澄清。另外,如果这是一个已修复的错误,则有人可以告诉我何时可能发布PDFBox的下一个版本。 谢谢。 问题答案: 基本上,您链接到的所有答案都是正确的。您必须记住它们分别引用哪个PDFBox版本。 _关于这个答案 在2.0.0之前的版本(直到当前的1.8.

  • 问题内容: 我将如何将javafx.scene.image.Image图像写入文件。我知道您可以在BufferedImages上使用ImageIO,但是有什么方法可以使用javafx图像吗? 问题答案: 差不多3年后,我现在有知识去做并回答这个问题。是的,原始答案也是有效的,但它涉及到先将图像转换为BufferedImage,我理想上想完全避免摆动。虽然这确实会输出图像的原始RGBA版本,足以满足

  • 问题内容: 我正在尝试从Http帖子回复文件写入 sdcard 上的文件。一切正常,直到检索到字节数据数组为止。 我尝试在清单中设置权限,并尝试了许多在网上找到的教程的不同组合。 我所能找到的只是使用活动的方法,但是我的应用程序如何通过线程来写入文件。具体来说,当必须写入文件时,会从另一个线程中调用一个线程,因此即使我尝试了活动对象,也无法使用它。 该应用程序已经走了很长一段路,我无法更改当前编写

  • 我还需要在两个文件之间创建一个分页符,在新的组合rtf文件中。我访问了MS word,并能够将两个rtf文件组合在一起,但这只是创建了一个没有分页符的长rtf文件。 我有一个代码,但它只复制一个文件到另一个文件相同的方式,但我需要帮助调整这段代码,以便我可以复制两个文件到一个文件 如何在FileInputStream文件的顶部添加另一个FileInputStream对象,并在文件和对象之间设置分页