バックアッププログラムを作成しました。プログラムは素晴らしいですが、ログは生成されません。ここでは、メッセージが、私がログに記録するメッセージである実行可能なjarファイルを実行しているときにライターが動作しない
private static void initLog() {
File logFileObj = new File(logFile);
try {
FileWriter fileWriter = new FileWriter(logFileObj);
logFileWriter = new BufferedWriter(fileWriter);
} catch (IOException e) {
e.printStackTrace();
}
}
:私は三つの方法、
System.out.println(message);
try {
if(logFileWriter != null){
logFileWriter.write(message);
logFileWriter.newLine();
logFileWriter.flush();
}
Runtime.getRuntime().exec("echo " + message);
} catch (IOException e1) {}
ログファイルの初期化子を使用してログを生成しています。ファイルライターは、コマンドライン引数を使用して、実行時にユーザーが指定したログファイルパスによって開始されます。
私はEclipseを使用してプログラムを実行しようとしていますが、ログは作成されていますが、実行可能なjarファイルを実行するとログは作成されません。理由は何か。
logFileWriterを初期化した場所を表示できますか? – chustar
'プライベートの静的な無効のinitLog(){ \t \t \t \tファイルlogFileObj =新しいファイル(ログファイル)。 \t \t \t \t試み{ \t \t \t \t \t \tてFileWriterてFileWriter =新しいてFileWriter(logFileObj)。 \t \t \t \t \t \t logFileWriter =新しいBufferedWriterの(てFileWriter)。 \t \t \t \t \t}キャッチ(IOExceptionを電子){ \t \t \t \t \t \t e.printStackTrace(); \t \t} \t \t \t} ' – vaibought
は' logFileWriter' "グローバル" オブジェクトですか? – chustar