Java 如何读取包含两个以奇怪格式编写的文档的txt文件?
这是我的txt文件的外观: 我是如何阅读这两份文件中的“.I”和“.m”的 但是我没有得到任何结果,哈希表result=null。 是否有其他方法读取此txt文件Java 如何读取包含两个以奇怪格式编写的文档的txt文件?,java,hashtable,bufferedreader,information-retrieval,inverted-index,Java,Hashtable,Bufferedreader,Information Retrieval,Inverted Index,这是我的txt文件的外观: 我是如何阅读这两份文件中的“.I”和“.m”的 但是我没有得到任何结果,哈希表result=null。 是否有其他方法读取此txt文件 while(br.ready()) { String line = "" ; // br.readLine(); while ( (line= br.readLine()) != null) { //if line contains .I if (line.contains(".
while(br.ready())
{
String line = "" ; // br.readLine();
while ( (line= br.readLine()) != null)
{
//if line contains .I
if (line.contains(".I"))
{ //read the id and save it in id var
String[] result = line.split("\\s");
id = result [result.length - 1];
}
else if(line.contains(".M ")){
String[] result = line.split("\\s");
for(int i = 0; i < result.length; i++){
if(!ht.containsKey(result[i]))
{
ArrayList<tuple> temp = new ArrayList<tuple>();
int index = line.indexOf(result[i]);
tuple tmpTupl = new tuple(id+"", index+"");
temp.add(tmpTupl);
ht.put(result[i], temp);
}
}
while(br.ready())
{
String line=“”;//br.readLine();
而((line=br.readLine())!=null)
{
//如果行包含.I
如果(第行包含(“.I”))
{//读取id并将其保存在id变量中
字符串[]结果=line.split(\\s”);
id=结果[result.length-1];
}
else if(第行包含(“.M”)){
字符串[]结果=line.split(\\s”);
for(int i=0;i
行中没有任何单词。这些单词位于下一行,您可以忽略它。此外,我认为您需要行.startsWith(“.I”)
。甚至可能需要行.equals(“.M”)|行.startsWith(“.M”)
如果您不太确定.M
后面是否有空格。我一直在看您的代码,但既不了解您的数据结构,也不了解代码的工作原理。也许更多的解释会有所帮助。当然有一种方法可以读取您的文本文件。@KlitosKyriacou是的,我想..您有没有办法读取您的文本文件下一行是什么?