大きなJSONを書き込むJavaプログラムがあるとします。 JSONが破損しているかどうかを判断するために、次回の起動時にプログラムが予期せず終了するかどうかを判断する方法はありますか?Java:書き込み中に予期せぬ終了が発生する
1
A
答えて
0
あなたのプロセスが完了した後、ファイルの名前を変更します。
try
{
File outputFile = ...;
someLongRunningProcess(outputFile);
File successfulFile = ...
outputFile.renameTo(successfulFile);
}
catch (Exception ex)
{
...
}
あなたが再起動すると、あなたの前回の実行が成功しなかった、successfulFile
を持っていない場合。
ただ1つのファイルシステム内で操作を続けるだけで、暗黙のコピーではなく、ほとんど瞬間的な単純な操作になります。
+0
ありがとう!何らかの理由でファイルの名前を変更してしまった。 – iluvAS
0
あなたは、より明確に説明できますか? JVMが終了した後に再度起動することを意味しますか?それがあなたが意味するものなら、そのためのファイルベースのフラグが必要です。
String expectedFlag="Good Exit";
void afterExit(){
//always overwrite whatever is in this file
//write flag value to a txt file
}
boolean beforeStarting(){
String flagText = readFromFlagFile();
if(expectedFlag.equals(flagText)){
return true;
}
return false;
}
+0
はい、これは私が行っている問題と解決策です。しかし、私はこれをどのように実装しますか? – iluvAS
関連する問題
- 1. 予期せぬ「終了」の修正
- 2. 予期せぬJSON入力の終了
- 3. 予期せぬ終了リターンでのNeo4j
- 4. AngularJs: "予期せぬ入力の終了"
- 5. データの読み込み中にエラーが発生しました:「予期せぬ動作」:
- 6. シンタックスの取得中にエラーが発生する: "fi"予期せぬ( "then")シェルスクリプト
- 7. Angular/JS予期せぬプログラムの早期終了
- 8. ローカルマシンでのテスト時に予期せぬエラーが発生する
- 9. 予期せぬ機能の中抜き
- 10. Ruby:構文エラー、予期せぬkeyword_when、入力の終了を予期します。
- 11. ContinueWithブロック内で予期せぬ動作が発生する
- 12. 予期せぬトークンブレークが三項条件で発生する
- 13. 予期せぬtLABEL、 '='エラーが発生する
- 14. XNA - デバッグ中にプロセスが予期せず終了する
- 15. ループ中にループが予期せず終了する
- 16. (#601)パーサーエラー:予期せぬクエリーの終了 - Javascript FB.api
- 17. Play FakeMultipartRequest予期せぬ入力の終了
- 18. キャッチされない構文エラー予期せぬ終了(ジャバスクリプト)
- 19. 予期せぬ終了コードのVS2010でのビルドの失敗
- 20. 未知の構文:予期せぬ入力の終了。likedc.js:0
- 21. JSON.parseで予期せぬJSON入力の終了
- 22. ファイルエラーの予期せぬ終了を取得
- 23. 角2 httpポストメソッド予期せぬJSON入力の終了
- 24. 崇高なテキストスニペット「データの予期せぬ終了」
- 25. 大量のペイロードで予期せぬストリームの終了
- 26. JSON入力の予期せぬ終了Angular 2(4)http get request
- 27. Firebase FCMエラーJSON_PARSING_ERROR:予期せぬトークンが終了位置にあるファイル
- 28. 予期せぬアーカイブの終わり
- 29. IOSボットエラー:予期せぬ予期しない終了、操作が完了しなかったブートストラップ -
- 30. プログラムが予期せず終了する
プログラムが正常に完了した場合にエントリを追加できるログファイルを作成できます。 – Beethoven