gpt4 book ai didi

java - 在 Linux 上读取 Windows 文本文件 --- MIME 问题?

转载 作者:行者123 更新时间:2023-12-02 06:22:14 25 4
gpt4 key购买 nike

我正在尝试通过在 Linux PC 上运行的 Java 应用程序逐行读取 MIME 类型“appliaction/octet-stream”的文件。澄清:“appliaction/octet-stream”是在 Linux 上运行“file -ib file.txt”的结果。

我尝试读取的文件是在 Windows XP 上创建的。

我将我的文件命名为“file.txt”。

在 Linux 上,“cat file.txt”显示内容。 "cat -v"以及 vim 显示控制字符。

当我通过 Java 应用程序运行代码来迭代它时(使用简单的 BufferedReader(FileReader) 类型的代码),我的输出是意外的。

我应该采取什么方法?我尝试使用 dos2unix 转换文件,但没有成功。

编辑:输入文件,通过vim或“cat -v”读取时如下:

[^@S^@y^@s^@t^@e^@m^@]^@^M^@ 

该行仅表示“系统”,但控制字符似乎使文件无法通过我的 Java 应用程序读取。

更新:我使用所有可用的字符编码运行我的代码,结果发现可读的字符集是“x-UTF-16LE-BOM”和“COMPOUND-TEXT”。感谢大家的帮助。

最佳答案

看起来该文件是使用 UTF-16 encoding 编写的。要在 Java 中阅读本文,您只需要 specify that encoding in your reader :

InputStreamReader reader = new InputStreamReader(
new FileInputStream(filename), Charset.forName("UTF-16"));

关于java - 在 Linux 上读取 Windows 文本文件 --- MIME 问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20908059/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com