从java jar文件加载文件

时间:2013-08-23 13:59:02

标签: java file jar iteration executable-jar

嗨,我坚持使用以下代码。我想从文件夹中获取文件但是当我将项目导出到jar文件时它不会有任何想法吗?

 public String getXSDfilenames() {
        String filenames= "";
        try {
            File currDir = new File(".");
            String path = currDir.getAbsolutePath();
            path = path.substring(0, path.length()-1);

             File file = new File(path+"src\\schemaFiles");     
            String[] files = file.list(new FilenameFilter() {
                public boolean accept(File dir, String name) {
                    return name.endsWith(".xsd");
                }
            });
            if (file.exists()) {
                for (int i = 0; i < files.length; i++) {
                    System.out.println(path+"src\\schemaFiles\\"+files[i]);
                filenames = filenames + files[i] + newline;
                }
            } else {
                System.out.println("No schema files founded in default folder!");
            }
        }
         catch (Throwable e1) {
        System.out.println(e1);
        }
        return filenames;
    }

}

1 个答案:

答案 0 :(得分:0)

如果您将XXX.jar文件的名称更改为XXX.zip,然后在您可能提供的任何Zip文件实用程序中打开它,您可以查看该文件并查看1.您的文件是否包含在jar,如果它们是,2。它们存储的实际路径。我强烈怀疑你的jar里面有src文件夹。

另外,如果你不希望文件在jar中,那么你可能需要提供文件的绝对路径。

如果他们在罐子里,那么看看这些问题:

load file within a jar

How to use ClassLoader.getResources() correctly?

How do I list the files inside a JAR file?