为什么在我想使用 java.io.File class 时出现错误 "cannot find symbol"?

Why I am getting error "cannot find symbol" when I would like to use java.io.File class?

我想使用 isDirectory() 方法 (java.io.File class)。我创建了一个简单的测试代码来试用此方法,但我总是收到 'cannot find symbol' 错误。

我的代码:

import java.io.File;

public class MyUtils {
    public static void main(String[] args) {
        String path = "/this/is/not/a/valid/path";
        boolean ValidPath = path.isDirectory();
        System.out.println(ValidPath);
    }
}

因为你的path是一个String对象。您可以使用路径 String:

实例化一个 File 对象
boolean ValidPath = new File(path).isDirectory();

发生这种情况是因为 path 是实例类型 String 并且 isDirectory 不是 String class 中可用的方法。要使用 filesdirectories,您必须使用适当的 classes.

您的代码应如下所示:

import java.nio.file.Files;
import java.nio.file.Paths;

public class MyUtils {
    public static void main(String[] args) {
        String path = "/this/is/not/a/valid/path";
        boolean isValidPath = Files.isDirectory(Paths.get(path));
        System.out.println(isValidPath);
    }
}

ValidPath 应重命名为 isValidPath

因为你想检查你的路径的有效性,你可以使用这样的方法exists :

boolean isValidPath = Files.exists(Paths.get(path));

因为,isDirectory是java.io.Filesclass的一个方法,必须用File对象调用,而你却想用字符串对象来调用该方法

创建一个文件对象,如:new File(path),调用isDirectory()方法。