2

Javaアプリケーションからファイルにアクセスしていますが、次の例外が発生しています

c:\Program Files\sample\sample\cample.xml (Acc?s refus?)        
at java.io.FileOutputStream.(不明なソース)  
java.io.FileOutputStream で。  
java.awt.event.InvocationEvent.dispatch (不明なソース) で  
java.awt.EventQueue.dispatchEvent (不明なソース) で    
java.awt.EventDispatchThread.pumpOneEventForFilters (不明なソース) で  
java.awt.EventDispatchThread.pumpEventsForFilter (不明なソース) で
java.awt.EventDispatchThread.pumpEventsForHierarchy (不明なソース) で  
java.awt.EventDispatchThread.pumpEvents (不明なソース) で  
java.awt.EventDispatchThread.pumpEvents (不明なソース) で  
java.awt.EventDispatchThread.run で (不明なソース)

この例外が発生した理由を知っている人はいますか.....、これの解決策は.....ファイルのアクセス許可に関連しているかどうかは、ファイルが読み取りアクセス許可を持っていないことを意味します。

4

2 に答える 2

2

フランス語の知識が限られているので、「Acc?s refus?」と思います。あなたのシステムでは、「Accèsrefusé?」または同様のもの。つまり、「アクセスが拒否されました」。言い換えれば、あなたのJavaプログラムはあなたが言及した場所に行くことを許可されていません。

場所がの下にあることを考慮するとc:\program files、この場所はWindowsVista以降では実際に禁止されています。%APPDATA%書き込みアクセスできる場所の下または他の場所を選択することをお勧めします。

Windowsは、セキュリティ上の理由から、デリケートな場所への書き込みを防止しようとしていることに注意してください。アカウントを管理者に変更して権利を取得した場合でも、プログラムファイルの下にデータ、設定、ファイルなどを配置しないでください。代わりに、現在のユーザーまたはデフォルトユーザーのアプリケーションデータディレクトリの下に配置する必要があります。Javaでは、次のようにこのパスを取得できます。

// get application path
System.getenv("APPDATA");
于 2010-08-23T06:15:11.310 に答える
1

この例外は、アプリケーションを実行しているアカウントにファイルへの書き込み権限がないことを意味します。書き込み先のファイルに必要な権限を付与する必要があります。別のオプションは、必要な権限を持つ別のフォルダーにファイルを配置することです。

于 2010-08-23T06:13:41.940 に答える