尝试使用Java打印文件内容时获取垃圾字符

尝试使用Java打印文件内容时获取垃圾字符,java,readfile,Java,Readfile,我正在读取文件的内容,并试图使用java打印内容。但它会将垃圾字符与文件内容一起打印 代码: 文件内容包括: partner.cisco.com:org-root/mac-pool-QA_MAC_Pool_5-Sep-2012_12:00 输出为: "Original file contents: ÿþp ..." and then junk characters after every letter. 你能指出我在这段代码中遗漏了什么吗?我能想到的唯一解释是: 您正在读取与您认为正在读取的

我正在读取文件的内容,并试图使用java打印内容。但它会将垃圾字符与文件内容一起打印

代码:

文件内容包括:

partner.cisco.com:org-root/mac-pool-QA_MAC_Pool_5-Sep-2012_12:00
输出为:

"Original file contents: ÿþp ..." and then junk characters after every letter.

你能指出我在这段代码中遗漏了什么吗?

我能想到的唯一解释是:

您正在读取与您认为正在读取的文件不同的文件,或者 您正在执行的程序与上面的源代码不匹配;e、 g.您正在执行类文件的旧版本。
我也试过你的密码。它工作正常。但我使用了Ubuntu,所以我只更改了你的文件路径。所以,有时错误发生在您的文件路径或文件中

您的帖子具有误导性,因为我们大多数人都知道您的程序生成的输出是

!![Alt Output]C:\Share\Output.jpg


如果您正在阅读的内容包含垃圾字符,则很可能是编码问题。原始文件是如何生成的?

问题已解决。我已通过添加ASCII编码更正了powershell脚本,如下所示:

Out-File -Encoding ASCII 
我用过

System.getProperty("line.separator");

这解决了这个问题,并打印文件内容,因为它包含新行

readLine会去除行尾字符,因此需要.appendSystem.getPropertyfile.separator。其余的似乎没问题,所以FaultDn.txt可能隐藏了垃圾。查看文件大小,或尝试其他文本。似乎您正在尝试显示尚未上载的图像。是否确定仅在运行此程序后才能获得给定的输出?C:\Share\output.jpg对您有什么意义吗?我在想,也许您正在查看的文件版本与您的程序可以访问的版本不同。此文件C:\\Data\\FaultDn.txt在您查看它和从程序中读取它之间是否可以修改?我正在尝试附加一个图像文件以显示输出,但无法执行此操作。我得到的输出是原始文件内容:ÿþp。。。然后在每封信后加上垃圾字符。很抱歉误导了大家。但我不知道如何在这里添加图像文件。正如@Joop Eggen正确指出的,FaultDn.txt包含隐藏的垃圾。此文件是由powershell脚本生成的。我用另一个文件尝试了这个程序,它似乎工作得很好,只是在文件内容的末尾附加了null。有没有办法消除这些隐藏的垃圾?我需要读取由powershell脚本生成的文件。有什么建议吗?请帮忙!
System.getProperty("line.separator");