2011-10-26 4 views
0

ファイルと連携するこのプログラムを作成しました。私は友人のために作ったので、JNLPファイルで完成したJava Web Startアプリにしました。Java Web Startでファイル操作が機能しない

私はJNLPなしでANT(netbeans)を使ってアプリを起動すると、うまく動作します。しかし、JNLPを介して(ネットビーンを介して)起動した場合、必要なアクションを実行するはずのボタンは何もしません(離れたところに置かれるまで「クリック」モードに留まります)。

私は何時間も問題を理解しようと努力しましたが、運はありませんでした。ここで

は問題の方法です:

ます。public voidコピー(文字列のパス1は、文字列パス2)は、IOExceptionがスロー{

File inputWorkbook = new File(inputFile); 
    Path in = Paths.get(path1); 
    Path out = Paths.get(path2); 



    Workbook w; 
    try { 
     w = Workbook.getWorkbook(inputWorkbook); 
    . 
    . 
    . 

私はinputWorkbookファイルは、すべての作品で何かをしようとしない場合OK。 Wn = Workbook.getWorkbook(inputWorkbook)やinputWorkbook.exsists();などの任意の種類のメソッドを試行するとすぐに問題が発生します。例外をスローすることはなく、何もしません。また、JNLPファイルを通じてプログラムを起動した場合にのみ問題が発生します。

私は問題を説明することができたらいいと思います...私はプログラミングが初めてです。

ありがとうございます!

アダム

+1

あなたの 'jnlp'パーミッションと例外処理コードを表示してください。 – trashgod

答えて

2

Webstartアプリケーションは、ファイルシステムにアクセスできないセキュリティサンドボックス内で実行されます。ファイルシステムにアクセスするには、harをデジタル署名するか、ファイルopen apiを使用する必要があります。詳細については、http://download.oracle.com/javase/6/docs/technotes/guides/javaws/developersguide/faq.html#302およびhttp://download.oracle.com/javase/6/docs/technotes/guides/javaws/developersguide/examples.html#FileOpenServiceを参照してください。

+0

+1 ['all-permissions'](http://download.oracle.com/javase/6/docs/technotes/guides/javaws/developersguide/syntax.html)も必要です。 – trashgod

+0

@trashgod [FileOpenService](http://pscode.org/jws/api.html#fs)には 'all-permissions'は必要ありません。デモでは、サンドボックス化されたときにはまだ動作することが示されています。 –

+0

ありがとう!私はnetbeansでjarファイルに署名する方法を探そうとしましたが、これまで運がなかったので、私はantをどのように変更するのか分かりません。私は彼らに昔ながらの方法で署名する方法を見つけようとします。 – Adam

関連する問題