Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.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_String_Guava_Apache Commons - Fatal编程技术网

Java 如何突出显示较长字符串中的第一行?

Java 如何突出显示较长字符串中的第一行?,java,string,guava,apache-commons,Java,String,Guava,Apache Commons,我有数百行的用户可读文件。 每行都很短(~20-30个符号) 有时,我需要使用该字符串对另一个字符串执行equals操作 如果字符串不同,我需要找到不同的第一行。当然我可以手动完成: 在循环中,查找第一个不同的字符,然后查找前面和后面的'/n',但在我看来,这段代码并不完美 有没有其他方法可以使用一些外部库来实现它?没有必要使用任何库,您的要求非常简单。但它的独特性足以让任何图书馆都无法拥有它,所以自己编写吧 import java.nio.file.Files; import java.uti

我有数百行的用户可读文件。 每行都很短(~20-30个符号)

有时,我需要使用该字符串对另一个字符串执行equals操作

如果字符串不同,我需要找到不同的第一行。当然我可以手动完成:

在循环中,查找第一个不同的字符,然后查找前面和后面的
'/n'
,但在我看来,这段代码并不完美


有没有其他方法可以使用一些外部库来实现它?

没有必要使用任何库,您的要求非常简单。但它的独特性足以让任何图书馆都无法拥有它,所以自己编写吧

import java.nio.file.Files;
import java.util.*;

...

Optional<String> findFirstDifferentLine(Path file, Collection<String> rows) throws IOException {
  try (var fileStream = Files.lines(file)) { // Need to close
    var fileIt = fileStream.iterator();
    var rowIt = rows.iterator();
    while (fileIt.hasNext() && rowIt.hasNext()) {
      var fileItem = fileIt.next();
      if (!Objects.equal(fileItem, rowIt.next()) {
        return Optional.of(fileItem);
      }
    }
    return Optional.of(fileIt)
        .filter(Iterator::hasNext)
        .map(Iterator::next);
  }
}
导入java.nio.file.Files;
导入java.util.*;
...
可选FindFirstDifferentitline(路径文件、集合行)引发IOException{
尝试(var fileStream=Files.lines(file)){//需要关闭
var fileIt=fileStream.iterator();
var rowIt=rows.iterator();
while(fileIt.hasNext()&&rowIt.hasNext()){
var fileItem=fileIt.next();
如果(!Objects.equal(fileItem,rowIt.next()){
返回可选。of(fileItem);
}
}
返回可选的.of(fileIt)
.filter(迭代器::hasNext)
.map(迭代器::下一步);
}
}