Java 文件名中的垃圾字符

Java 文件名中的垃圾字符,java,file,encoding,io,character,Java,File,Encoding,Io,Character,我们偶尔会在Unix文件系统中获得文件名中几乎没有垃圾字符的文件。这是创建这些文件的上游组件编码不正确的结果。有一个java程序正在尝试读取此文件-java代码是否有任何方法可以读取此文件的内容,并且只使用很少的垃圾字符?除了少数垃圾字符外,大多数字符在文件名中都很好。目前它给出了“未找到文件”错误。您需要提供有关实际错误字符的更多详细信息。一种常见的情况是,一些代码错误地假设UTF-8表示实际上是一种每字符一字节的表示,如ISO 8859-1,导致例如,é显示为Ã。在这种情况下,您可以使用IS

我们偶尔会在Unix文件系统中获得文件名中几乎没有垃圾字符的文件。这是创建这些文件的上游组件编码不正确的结果。有一个java程序正在尝试读取此文件-java代码是否有任何方法可以读取此文件的内容,并且只使用很少的垃圾字符?除了少数垃圾字符外,大多数字符在文件名中都很好。目前它给出了“未找到文件”错误。

您需要提供有关实际错误字符的更多详细信息。一种常见的情况是,一些代码错误地假设UTF-8表示实际上是一种每字符一字节的表示,如ISO 8859-1,导致例如,
é
显示为
Ã
。在这种情况下,您可以使用ISO-8859-1对字符串进行编码,然后使用UTF-8对这些字节进行解码。请提供您编写的代码的详细信息。无法像那样检测到错误。由于编码原因,FileNotFound不应存在。它可能引用了错误的文件名problem.VGR谢谢,原始文件是reservación.123456789.txt目录中的文件是reservaci?n.123456789.txt或reservaci�n、 123456789.txt。如果我试图读取名为“reservaci?n.123456789.txt”的文件,则无法找到文件。甚至尝试通过*.123456789.txt过滤文件并尝试读取,仍然会遇到同样的问题。