有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

我试图通过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^@ 

这行代码只是说“System”,但似乎控制字符通过我的Java应用程序使文件无法读取

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


共 (1) 个答案

  1. # 1 楼答案

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

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