Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在静态方法中加载资源文件_Java_Static_Resources - Fatal编程技术网

Java 在静态方法中加载资源文件

Java 在静态方法中加载资源文件,java,static,resources,Java,Static,Resources,我需要创建一个命令行应用程序 public static void main(String[] args) { //Loading lenders data from the CSV file DataLoader.loadData(lendersList); } loadData(lenderList)是静态的,需要在内存中加载文件的内容 public class DataLoader { protected static void loadData(List<Len

我需要创建一个命令行应用程序

public static void main(String[] args) {
    //Loading lenders data from the CSV file
    DataLoader.loadData(lendersList);
}
loadData(lenderList)是静态的,需要在内存中加载文件的内容

public class DataLoader {

protected static void loadData(List<Lender> lendersList) {

    try {
        CSVReader reader;
        //reader = new CSVReader(new FileReader(ConstantData.CSVFILE));
       reader = new CSVReader(new InputStreamReader(getClass().getResourceAsStream("/config.txt")));**
....    
}
公共类数据加载器{
受保护的静态无效加载数据(列表出借人列表){
试一试{
CSVReader阅读器;
//reader=new-CSVReader(新文件读取器(ConstantData.CSVFILE));
reader=new CSVReader(新的InputStreamReader(getClass().getResourceAsStream(“/config.txt”))**
....    
}

由于该方法是静态的,我无法加载资源(config.txt)


有人知道在这种情况下加载资源的方法吗?

我假设是编译错误。替换

getClass()


如果我猜错了,请解释您得到的错误,并发布相应的消息和/或stacktrace。请不要将其添加为注释,因为这种事情的格式很糟糕。

由于该方法是静态的,我无法加载资源(config.txt)。???请解释…我得到了这个错误:非静态方法getClass()无法从静态上下文引用。我通过使用reader=new CSVReader(new InputStreamReader(Main.class.getClassLoader().getResourceAsStream(ConstantData.CSVFILE)),使其正常工作;我相信这与Lothar的回答是一致的,只要
Main
DataLoader
来自同一个类加载器。
getClass()
this.getClass()
的缩写。在静态方法中没有
this
,因此编译错误。
DataLoader.class