使用Windows-1252读写文件

罗伯特

我正在尝试将包含一些德语字符的文件写入磁盘,并使用Windows-1252编码读取它我不明白为什么,但是我的输出是这样的:

<title>W�hrend und im Anschluss an die Exkursion stehen Ihnen die Ansprechpartner f�r O-T�ne</title>

<p>Die Themen im �berblick</p>

有什么想法吗?这是我的代码。您将需要spring-core和commons-io来运行它。

private static void write(String fileName, Charset charset) throws IOException {
    String html = "<html xmlns=\"http://www.w3.org/1999/xhtml\">" +
                  "<head>" +
                  "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1252\">" +
                  "<title>Während und im Anschluss an die Exkursion stehen Ihnen die Ansprechpartner für O-Töne</title>" +
                  "</head>" +
                  "<body>" +
                  "<p>Die Themen im Überblick</p>" +
                  "</body>" +
                  "</html>";

    byte[] bytes = html.getBytes(charset);
    FileOutputStream outputStream = new FileOutputStream(fileName);
    OutputStreamWriter writer = new OutputStreamWriter(outputStream, charset);
    IOUtils.write(bytes, writer);
    writer.close();
    outputStream.close();
}

private static void read(String file, Charset windowsCharset) throws IOException {
    ClassPathResource pathResource = new ClassPathResource(file);
    String string = IOUtils.toString(pathResource.getInputStream(), windowsCharset);
    System.out.println(string);
}

public static void main(String[] args) throws IOException {
    Charset windowsCharset = Charset.forName("windows-1252");
    String file = "test.txt";
    write(file, windowsCharset);
    read(file, windowsCharset);
}
灵魂大师

您的写入方法错误。您正在使用写入器来写入字节应该使用作家来写字符或字符串。

您已经使用以下代码将字符串编码为字节

byte[] bytes = html.getBytes(charset);

这些字节可以简单地写入输出流中:

IOUtils.write(bytes, outputStream);

这样就不需要编写器(删除它),您现在将获得正确的输出。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

转到:使用Windows-1252编码写入文件

来自分类Dev

使用python读写.docx文件

来自分类Dev

使用MATLAB读写文件头

来自分类Dev

使用C#读写文件

来自分类Dev

使用Java读写CSV文件

来自分类Dev

打开文件以使用truncate进行读写

来自分类Dev

使用python测量文件的原位读写速度

来自分类Dev

使用node.js读写文件(JSON)

来自分类Dev

如何使用vimscript在文件中读写列表

来自分类Dev

同时使用文件进行读写操作失败

来自分类Dev

使用Java 7 nio读写文件

来自分类Dev

使用MFC CFile进行文件读写

来自分类Dev

使用python的多线程读写文件

来自分类Dev

使用PropertyHandler Shell Extension读写文件属性

来自分类Dev

在C中使用libpng读写PNG文件

来自分类Dev

使用python测量文件的原位读写速度

来自分类Dev

使用node.js读写文件(JSON)

来自分类Dev

使用Java 7 nio读写文件

来自分类Dev

使用 Python 读写非 .txt 文件

来自分类Dev

如何使用 javascript 在属性文件中读写

来自分类Dev

使用 Files.lines 读写文件流

来自分类Dev

如果使用utf-8编码打开文件,则0x85 Windows 1252会换行

来自分类Dev

在Node JS中读取Windows-1252文件

来自分类Dev

如何使用内存映射文件C#读写文件?

来自分类Dev

如何使用C ++中的文件读写doc,pdf文件

来自分类Dev

Windows Mobile 6.5-读写配置文件的最佳方法

来自分类Dev

使用boost iostream将数组读写到压缩文件

来自分类Dev

如何使用NSInputStream和NSOutputStream读写音频文件

来自分类Dev

在Go中使用相同的* os.File读写文件