我正在将一个文本文件传递给Apache Solr并获得异常:
SolrException: An invalid XML character (Unicode: 0xffffffff) was found
我想跳过索引此文本文件的完整内容。
如何在Java中查找文本文件是否包含此字符?
要查找Unicode 0xffff以解决类似问题,我目前正在使用:
File file = [somefile];
String contents = getContentsAsString(file);
if (contents.contains("\uFFFF")) {
[skip it]
}
我需要确定文本文件是否包含Unicode:0xffffffff。
答案 0 :(得分:0)
如上所述:
没有Unicode 0xffffffff字符。看起来在某些时候代码期望一个对应于Unicode代码点的整数,但是得到-1。
这让我觉得错误的解决方案 - 我怀疑你对另一个问题犯了错误,例如编码没有正确设置......在使用这种类型之前我会仔细检查这样的事情固定”。 (如果你必须使用这个修复程序,那么除了打开文本文件并遍历每个字节进行检查之外别无他法,类似于你已经在做的事情,尽管不需要将整个文件内容保存在内存中。 )