2012-02-10 16 views
0

リポジトリ上のjarファイルにアクセスして特定のファイルを検索し、それらのファイルを検索してハードディスクに保存します。私は瓶全体をダウンロードしてからそれを探したいとは思わない。JavaからJarファイル全体をダウンロードせずにリポジトリにある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) { 
    } 
} 

ので、上のコードでは、どのように私はディレクトリの中に私が見つけたファイル(あれば最後)を保存することができます。

+0

「リポジトリ」とはどういう意味ですか? Mavenリポジトリ? –

答えて

1

"リポジトリ"とは、Mavenリポジトリを意味すると仮定すると、これは実行できません。 Mavenリポジトリは、jarファイルのようなアーティファクトをダウンロードさせますが、内部を見ることはありません。

関連する問題