有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java无法读取MySQL日志文件

嘿,我试图读取日志文件名“SHIKHAR.log”中的任何“root”字符串,但编译器一直显示

dam.java:12: error: cannot find symbol
       System.out.println("I found in file " +SHIKHAR.getName());
                                              ^
  symbol:   variable SHIKHAR
  location: class dam
1 error

我不确定它到底出了什么问题,我尝试过添加扩展,也尝试过其他方法,但没有效果

import java.util.Scanner;
import java.io.*;
class dam 
{
public static void main (String arg[])
{
final Scanner scanner = new Scanner("SHIKHAR");
while (scanner.hasNextLine()) {
   final String lineFromFile = scanner.nextLine();
   if(lineFromFile.contains("root")) { 
       // a match!
       System.out.println("I found in file " +SHIKHAR.getName());
       break;
   }
}
}
}

共 (1) 个答案

  1. # 1 楼答案

    您正在使用未定义的变量名SHIKHAR

    System.out.println("I found in file " +SHIKHAR.getName());
    

    根据您的假设SHIKHAR是文件,但在您的代码中,它只是一个字符串文字

    可以将变量定义为

    final File SHIKHAR = new File("SHIKHAR");
    final Scanner scanner = new Scanner(SHIKHAR);
    

    顺便说一句,根据您当前的代码,将只读取字符串,而不是从名为SHIKHAR的文件中读取

    final Scanner scanner = new Scanner("SHIKHAR");