繁体   English   中英

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

[英]Search and print text file using java

如何搜索文本并从.txt文件中打印出特定的文本行? 例如,我有一个名为airlines.txt的txt文件,我搜索MMHHHAAAA。 然后,我想从“ MMHHHAAAA:Malaysian Airlines”行中提取“ Malaysian Airlines”

//Scan file airlines.txt
Scanner scanner = new Scanner(new File("airlines.txt"));
while(scanner.hasNextLine()){
//Will this work?
  String s = scan.nextLine();
  Scanner line = new Scanner(s);
  String airline;
//How do i continue from here to scan for MMHHHAAAA and then print out the following line of text
}
System.out.println("Airline is" + airline);
return 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()

您可以使用String.indexOf("")方法。

if (s.indexOf("your-search-string") != -1) {
   //matched the pattern
   System.out.println(s);
}

您可以使用substring()后提取部分: System.out.println(s.substring(":"));

阅读有关Java字符串及其方法的更多信息。

一种可能性

    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);
      }
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM