从文本文件中读取时如何比较单独行中的字符串

时间:2016-02-28 17:26:37

标签: java

有没有办法比较文本文件中的字符串是否在不同的行上?这就是我将第一行与第二行进行比较的方法。但是,如果我想将第一行与第八行进行比较,将第二行与第九行进行比较,我将如何做到这一点,依此类推。很抱歉,如果之前已经询问过,但我在搜索时找不到任何内容。

if(kb.hasNext()){
    String in = kb.nextLine ();
    String two = kb.nextLine();
}

输入Ex:

1 2 3 4 5 6 7
2 1 3 4 5 6 7
3 1 2 4 5 6 7
4 1 2 3 5 6 7
5 1 2 3 4 6 7
6 1 2 3 4 5 7
7 1 2 3 4 5 6
1 2 3 4 5 6 7
2 1 3 4 5 6 7
3 1 2 4 5 6 7
4 1 2 3 5 6 7
5 1 2 3 4 6 7
6 1 2 3 4 5 7
7 1 2 3 4 5 6             

我用Java编写代码。感谢任何想法。

2 个答案:

答案 0 :(得分:5)

我认为最好像

一样阅读整个文件
List <String> listOfFileEntries=new ArrayList<>();
while(kb.hasNext()) {
           listOfFileEntries.add(kb.nextLine ());
    }

而且你可以比较ArrayList中的行。要获得数字i,请写下listOfFileEntries.get(i)

答案 1 :(得分:1)

如果输入数据不大,可以将它们加载到内存中:

List<String> lines = new ArrayList<>();

final FileReader fileReader = new FileReader("somefile.txt");
final BufferedReader bufferedReader = new BufferedReader(fileReader);

String line;
while((line = bufferedReader.readLine()) != null) {
    lines.add(line);            
}

然后使用split,regex等处理