将所有读取行发送到字符串数组

时间:2014-03-26 23:37:46

标签: java regex arrays string

我有一个概念,但我不确定如何去做。我想解析一个网站并使用正则表达式来查找某些部分。然后将这些部分存储到字符串中。之后我想做同样的事情,但发现之前和之后的差异。

计划:

  1. parse / regex添加找到数组before的行。
  2. 刷新网站/ parse / regex添加找到数组after的行。
  3. 将之前的所有字符串与之后的所有字符串进行比较。 println任何新的。
  4. 将所有字符串后的字符串发送到字符串之前
  5. 然后从2.永远重复。

    基本上它只是检查网站上的更新代码并告诉我更新了什么。

    首先,这是可行的吗?

    这是第1部分的代码。

    String before[] = {};
    int i = 0;
    while ((line = br.readLine()) != null) {
        Matcher m = p.matcher(line);
        if (m.find()) {
            before[i]=line;
            System.out.println(before[i]);  
            i++;    
        }
    }
    

    它不起作用,我不确定原因。

1 个答案:

答案 0 :(得分:0)

假设您正在阅读文件,您可以执行此类操作:

Scanner s = new Scanner(new File("oldLinesFilePath"));
List<String> oldLines = new ArrayList<String>();
List<String> newLines = new ArrayList<String>();

while (s.hasNext()){
    oldLines.add(s.nextLine());
}

s = new Scanner(new File("newLinesFilePath"));

while (s.hasNext()){
    newLines.add(s.nextLine());
}    
s.close();

for(int i = 0; i < newLines.size(); i++) {
   if(!oldLines.contains(newLines.get(i)) {
       System.out.println(newLines.get(i));
   }
}