2

パラメータとして何らかのタイプのオブジェクトを取得する関数があります。その場所から拡張子を持つすべてのリソース ファイルを取得する必要があります.yml

どうやってするの?

4

3 に答える 3

2

このコードを利用できます

JarFile jarFile = new JarFile("my.jar");

    for(Enumeration<JarEntry> em = jarFile.entries(); em.hasMoreElements();) {  
        String s= em.nextElement().toString();

        if(s.startsWith(("path/to/resource/directory/"))){
            ZipEntry entry = jarFile.getEntry(s);

            String fileName = s.substring(s.lastIndexOf("/")+1, s.length());
            if(fileName.endsWith(".yml")){
                InputStream inStream= jarFile.getInputStream(entry);
                OutputStream out = new FileOutputStream(fileName);
                int c;
                while ((c = inStream.read()) != -1){
                    out.write(c);
                }
                inStream.close();
                out.close();

            }
        }
    }  
    jarFile.close();
于 2012-03-21T11:01:16.627 に答える
0

質問の言い回しが少し不明確だと思いますが、正しく理解できれば、指定された jar から .yml ファイル拡張子を持つすべてのファイルを抽出する必要があります。

この場合、既知の jar ファイル パスから単に java.util.JarFile をインスタンス化し、getEntries()を使用できます。このメソッドは、JarEntries の列挙を返します。これを反復して、名前が「.yml」で終わることを確認できます。

于 2012-03-21T10:50:45.873 に答える
0

FileFilterファイルを除外するために使用でき.yamlます。この投稿では、1 つを実装して使用する方法の例を示します。

于 2012-03-21T10:43:06.823 に答える