如何从静态上下文中获取 getclass().getResource()?

2022-08-31 23:47:30

我有一个函数,我试图将文件加载到对象,因为示例项目是这么说的。URL

public class SecureFTP {

    public static void main(String[] args) throws IOException , ClassNotFoundException, SQLException , JSchException, SftpException{
        File file = new File("/home/xxxxx/.ssh/authorized_keys");
        URL keyFileURL = this.getClass().getClassLoader().getResource(file);

我尝试使用,但它仍然无法编译它。SecureFTP.class.getResource

我对Java很陌生,所以我知道我做错了什么。


答案 1

main 方法是静态方法,因此尝试访问 (= 当前对象) 将不起作用。您可以将该行替换为this

URL keyFileURL = SecureFTP.class.getClassLoader().getResource("/home/xxxxx/.ssh/authorized_keys");

答案 2

From: 如何在Java中从静态方法调用getClass()?

只需使用 TheClassName.class 而不是 getClass()。