Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.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_Search_Text_Printing - Fatal编程技术网

使用java搜索和打印文本文件

使用java搜索和打印文本文件,java,search,text,printing,Java,Search,Text,Printing,如何搜索文本并从.txt文件打印出特定的文本行? e、 我有一个名为airlines.txt的txt文件,我搜索MMHHHAAAA。然后,我想从行“MMHHHAAAA:马来西亚航空公司”中提取“马来西亚航空公司” 您可以使用String.indexOf(“”)方法 if (s.indexOf("your-search-string") != -1) { //matched the pattern System.out.println(s); } 您可以使用substring()在:

如何搜索文本并从.txt文件打印出特定的文本行? e、 我有一个名为airlines.txt的txt文件,我搜索MMHHHAAAA。然后,我想从行“MMHHHAAAA:马来西亚航空公司”中提取“马来西亚航空公司”


您可以使用
String.indexOf(“”)方法

if (s.indexOf("your-search-string") != -1) {
   //matched the pattern
   System.out.println(s);
}
您可以使用
substring()
之后提取零件。
System.out.println(s.substring(“:”)

阅读更多关于它的内容和方法。

一种可能性

    Scanner scanner = new Scanner(new File("airlines.txt"));
    while(scanner.hasNextLine()){

      String currentLine = scanner.nextLine();
      if(currentLine.indexOf("MMHHHAAAA") != -1){
          String airline = currentLine.split(":")[1];
          System.out.println("Airline is " + airline);
      }
    }

您可以在Java 8中使用此选项:

final Path path = Paths.get("airlines.txt");

final Optional<String> theLine;

try (
    final Stream<String> lines = Files.lines(path, StandardCharsets.UTF_8)
) {
    theLine = lines.filter(s -> s.startsWith("MMHHHAAAA:"))
        .findFirst();
}

if (theLine.isPresent())
    // do something with theLine.get()
final Path=Path.get(“airlines.txt”);
最终可选线路;
试一试(
最终流行=Files.lines(路径,StandardCharsets.UTF_8)
) {
theLine=lines.filter(s->s.startsWith(“MMHHHAAAA:”)
.findFirst();
}
if(line.isPresent())
//用这条线做点什么

缺少如何提取“:”后面的字符串部分。
final Path path = Paths.get("airlines.txt");

final Optional<String> theLine;

try (
    final Stream<String> lines = Files.lines(path, StandardCharsets.UTF_8)
) {
    theLine = lines.filter(s -> s.startsWith("MMHHHAAAA:"))
        .findFirst();
}

if (theLine.isPresent())
    // do something with theLine.get()