Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何输出特殊字符可见的数据?_Java_Io - Fatal编程技术网

Java 如何输出特殊字符可见的数据?

Java 如何输出特殊字符可见的数据?,java,io,Java,Io,我有一个提供给我的文本文件,没有人知道上面的编码。在文本编辑器中查看,所有内容看起来都很好,正确地排列成整齐的列 然而,当我阅读数据时,我看到了一些异常。即使在视觉上,字段“Foo”出现在文本文件的相同列中(例如,在第15-20列中),但当我尝试使用子字符串(15,20)将其拉出时,我的数据变化很大。有时我会提取字节11-16,有时18-23,有时15-20…记录之间没有一致性 我怀疑有一些特殊的ChartActer,对我的文本编辑器来说是不可见的,但是可以通过String方法读取(并计入索引)

我有一个提供给我的文本文件,没有人知道上面的编码。在文本编辑器中查看,所有内容看起来都很好,正确地排列成整齐的列

然而,当我阅读数据时,我看到了一些异常。即使在视觉上,字段“Foo”出现在文本文件的相同列中(例如,在第15-20列中),但当我尝试使用
子字符串(15,20)
将其拉出时,我的数据变化很大。有时我会提取字节11-16,有时18-23,有时15-20…记录之间没有一致性

我怀疑有一些特殊的ChartActer,对我的文本编辑器来说是不可见的,但是可以通过
String
方法读取(并计入索引)。在Java中,是否有任何方法可以使用任何可见的特殊字符转储文件内容,以便我可以看到需要用正则表达式替换的字符串的内容


如果不是Java,有人能推荐一个可以帮助我的工具吗

您是否尝试过将文件内容打印为单个整数或字节?这样,您就可以查看是否存在任何隐藏字符。

我将从直接查看文件开始。任何代码都会增加一层怀疑。使用Total Commander(或平台上的等效命令),查看文件(F3)并切换到十六进制模式。您认为特殊字符的行为在行之间甚至不一致,因此在您尝试用算法修复它之前,您应该获得一些关于格式的视觉线索。

对于我试图提取的字段,是的……我使用了
子字符串
来获取单个字节(如
字符
),我没有看到任何奇怪的东西。我想尝试一些绕过
String
方法的方法,但我不确定它在Java中的位置——或者我是否完全需要另一个工具。举例来说,这将告诉您是否有8个空格或1个制表符(
\t
)。如果
Character.isLetterDigit(c)
,您可以要求每个
char c
,如果不是,则将其打印为整数。所以你可以更容易地找到特殊的角色。这正是我想要做的…~看看~在围绕它编程之前有什么。谢谢总指挥官的提示!看来这会有很大帮助。