Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.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
从存储库中的Jar获取文件,而无需从Java下载整个Jar_Java_Search_Jar_Download - Fatal编程技术网

从存储库中的Jar获取文件,而无需从Java下载整个Jar

从存储库中的Jar获取文件,而无需从Java下载整个Jar,java,search,jar,download,Java,Search,Jar,Download,我想访问存储库中的jar文件,在其中搜索某些文件,检索这些文件并将它们存储在我的硬盘上。我不想下载整个jar然后再搜索它 假设我有罐子的地址。有人能为我提供其余问题的代码吗 public void searchInsideJar(final String jarUrl, final String artifactId, final String artifactVersion) { InputStream is = null; OutputStream outS

我想访问存储库中的jar文件,在其中搜索某些文件,检索这些文件并将它们存储在我的硬盘上。我不想下载整个jar然后再搜索它

假设我有罐子的地址。有人能为我提供其余问题的代码吗

 public void searchInsideJar(final String jarUrl, final String artifactId,
        final String artifactVersion) {
    InputStream is = null;
    OutputStream outStream = null;
    JarInputStream jis = null;
    int i = 1;
    try {
        String strDirectory = "C:/Users/ilijab/" + artifactId   +artifactVersion;

        // Create one directory
        boolean success = (new File(strDirectory)).mkdir();
        if (success) {
            System.out.println("Directory: " + strDirectory + " created");
        }

        is = new URL(jarUrl).openStream();
        jis = new JarInputStream(is);

        while (true) {
            JarEntry ent = jis.getNextJarEntry();
            if (ent == null) {
                break;
            }
            if (ent.isDirectory()) {
                continue;
            }
            if (ent.getName().contains("someFile")) {
                outStream = new BufferedOutputStream(new FileOutputStream(
                        strDirectory + "\\" + "someFile" + i));
                while(ent.)
                System.out.println("**************************************************************");
                System.out.println(i);
                i++;
            }
        }
    } catch (Exception ex) {
    }
}
那么,在上面的代码中,如何将我找到的文件(最后一个if)保存到目录中。

假设“repository”指的是Maven repository,那么我恐怕无法做到这一点。Maven存储库允许您下载工件,如jar文件,但不会为您查看它们的内部。

您所说的“存储库”是什么意思?Maven存储库?