gpt4 book ai didi

java - 逐行读取文件并打印该行(如果该行包含枚举中的任何值)

转载 作者:行者123 更新时间:2023-12-02 03:12:34 24 4
gpt4 key购买 nike

So far I did is 

import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Scanner;
public class project2 {
public static void main( String[] args ) throws IOException {
File file =new File("D:/log/logging.log");
Scanner in = null;
try {
in = new Scanner(file);
while(in.hasNext())
{
String line=in.nextLine();
if(line.contains(""))
System.out.println(line);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}

}
public class Example(
public enum Searchword {
info,debug
}}

我需要搜索该行是否包含任何一个枚举值,然后需要打印该行。是否可以搜索以及如何搜索。

最佳答案

使用 java.nio 和 Java 8 Streams - 有一种声明式方法

import java.nio.file.*;
import java.util.stream.Stream;

public class Main {

enum Search { info, debug }

public static void main(String[] args) throws Exception {
Path path = Paths.get("pathToFile");

Files.lines(path)
.filter(Main::containsSearchTerm)
.forEach(System.out::println);
}

public static boolean containsSearchTerm(String input) {
return Stream.of(Search.values())
.map(Search::name)
.anyMatch(input::contains);
}
}

关于java - 逐行读取文件并打印该行(如果该行包含枚举中的任何值),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40825759/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com