Java jar 実行可能ファイルからテキスト ファイルに書き込んでいます。jar は正しいファイルを生成しますが、ファイルの権限はルートに設定されているため、他の Javascript はファイルを読み取ることができません。ajax 経由でファイルを読み込もうとすると、「Permission Denied」が返されます。Java でファイルを作成するときの問題を解決するにはどうすればよいですか? 現在、Java 1.6 を実行しています。
Eclipse 内でアプリケーションを実行していたとき、この問題は発生しませんでした。それをjarに移植すると、アクセス許可がルートアクセスに変更されました。
私はjarファイルを実行しています
exec('java -jar writeToFile.jar');
ファイルへの書き込みは標準です
public void writeContents(String fp,String contents){
try{
BufferedWriter write = new BufferedWriter(new FileWriter(fp));
write.write(contents);
write.close();
}catch(Exception e){
System.out.println("Failed to write to file " + fp + " error: " + e.toString());
e.printStackTrace();
}
}
ファイルへの書き込みは正常に機能し、正しいディレクトリと目的のデータを含むファイルが作成されます。Eclipseで実行する場合とjarを介して実行する場合の違いは、ファイルのアクセス許可だけです。jar はファイルをルートに設定します。