2012-03-27 16 views
0

私はこのアプリをJWSと連携させることができますか?これはクライアントアプリケーションとして始まり、いくつかのユーザーデータファイルのフォルダがあります。ユーザーはこれらのフォルダを使用して、ネットからデータファイルを追加することもできます。 ... JWSを入力してください...Web StartアプリケーションでJar APIを使用できますか?

このコードはJWSを使用しないJARファイルで動作しましたが、JWSを使用する場合はJARファイルを見つけることができません。 (jarName =「myjar.jar」)最後に

static public ArrayList<String> getJarFileList(Dir d, ExtFilter ext) { 
    ArrayList<String> list = new ArrayList<String>(); 

    try { 
     FileInputStream fis = new FileInputStream(jarName); 
     JarInputStream jis = new JarInputStream(fis); 

     JarEntry jarEntry = null; 
     do { 
      jarEntry = jis.getNextJarEntry(); 
      if (jarEntry != null) { 
       String fileName = jarEntry.getName(); 
       if(d == null || fileName.startsWith(d.toString())) { 
        if(ext == null || ext.accept(null, fileName)) 
         list.add(fileName); 
       } 
      } 
     } while (jarEntry != null); 
     jis.close();    
    } catch (IOException ioe) { } 

    return list; 
} 

は、私はJAR内のデータファイルのリストを取得し、私は、クライアント上で作成したローカルフォルダに保存できるようにしたいです。可能であれば、私は取得しなければならないJAR内のすべてのファイルの名前を正確に知る必要はありません。そのため、getJarFileList(特定のディレクトリとファイル名の拡張子)です。

直接方法がない場合、おそらく最も簡単なことは、アプリをウェブサイトに移動してデータファイルをクライアントにコピーさせることでしょうか?これらのファイルを移動するために使用するAPIについてのご意見もありがとうございます。

TIA - マーク

は修正を得た...私は物事のカップルを試みたが、私はいくつかの成功を収めている

答えて

0

... 2時間以内にそれを掲載する予定です!

最初の(失敗した)試みは、私の(デフォルト/インストール)ユーザーデータディレクトリをファイルに入れて、それらをメインのjarファイルのjarファイルに入れることでした。次に、getClass()。getClassLoader()。getResourceAsStream( "myinnerjar.jar")によって返されたInputStreamに対して、内部jarファイルのJarInputStreamを取得しました。個々のファイル/ストリームを取得しようとすると、問題に遭遇しました。

2番目の(成功した)試行では、サーバー側にデータファイルjarを配置し、JWSアプリケーションでそのURLにアクセスしました。 url.openStream()が働いてから、in.read()とout.write()だけでした。これは私のマシン上のJARとJava Web StartのJARから作業しています。私は自分のJWSアプリケーションにデータファイルでいっぱいのローカルフォルダを作成することができます。

対処する他の唯一のものは、ローカルファイルがどこに行くか(私は相対的な出力パスを与えました)、Windows 7ではさまざまな場所に行きました...喜喜。私はさまざまなプラットフォームのために、ユーザーのホームディレクトリにこれらのフォルダをルートします。

TIA- マーク

関連する問題