Java 逐行读取文件,如果该行包含枚举中的任何值,则打印该行

Java 逐行读取文件,如果该行包含枚举中的任何值,则打印该行,java,Java,我需要搜索该行是否包含enum的任何一个值,然后需要打印该行。是否可以进行搜索以及如何进行搜索。使用java.nio和Java8流-有一种声明式方法 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

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

使用
java.nio
和Java8流-有一种声明式方法

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
和Java8流-有一种声明性方法

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编译器在创建枚举时会添加一些方法。这些方法之一是static.values()

这将返回所有枚举值的数组

它还创建了一个成员方法.name(),该方法返回枚举的字符串表示形式


使用这两种方法,您可以对每一行的枚举中的所有值进行循环,然后当该行包含枚举字符串表示时,将其打印出来。

作为更完整的答案,并提供一些传统信息:

java编译器在创建枚举时会添加一些方法。这些方法之一是static.values()

这将返回所有枚举值的数组

它还创建了一个成员方法.name(),该方法返回枚举的字符串表示形式


使用这两种方法,您可以为每一行循环枚举中的所有值,然后当该行包含枚举字符串表示形式时,将其打印出来。

如果(line.contains(“”),这一行是什么意思?您可以使用枚举常量的
name()
方法,例如
SearchWord.info.name()
。如果(line.contains(“”),那么此行是什么意思?您可以使用枚举常量的
name()
方法,例如
SearchWord.info.name()