- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Java ファイルが生成させたか確認したい)
Javaファイルの生成確認と重たい処理の待機方法
このQ&Aのポイント
- 通常重たい処理はスレッドで処理し、逐次プログラムを進めていくのが定石なのですが、PNGファイルを生成する場合、そのファイルができるまで処理を止めたい場合、どのような方法がありますか?
- ファイル生成後に処理を進めるのではなく、ファイルが存在するまで処理を待機するための方法を知りたいです。
- DelphiのApplication.ProcessMessagesに相当する命令文や、違った方法があれば教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
jfreechart-1.0.12で確認したけど スレッドなんか使ってなかったわ。 普通に処理が終了するようよ。 生成される前に先に進んでしまうはずないんだけど。 状態の更新が何を言っているのかわからないけど file.exists() は現在の状態を確認しているわ。 仮に、ChartUtilities.saveChartAsPNGの変わりに file.createNewFile() してあげればfile.exists()==trueを得られるのが確認できるはず。 そんなわけで、何かもっと別の要因があるんじゃないかと 思うんだけど。
お礼
askaaskaさん回答ありがとうございます!! askaaskaさんの指摘通り別の要因でした。 //JFreeChartでPNGデータを作成 ChartUtilities.saveChartAsPNG(file, chart, 540, 240); //PNGデータが作成されるまで待機 while(file.exists()){ sleep(1000); } ↑の【file】はChartUtilities.saveChartAsPNGを実行する前に 定義したものですので、実行前の【file】をループで調べても 出てくるはずがございませんでした。ファイルが作成されると 【file】内のデータも勝手に更新されると勘違いしておりました。 ChartUtilities.saveChartAsPNGを実行後に保存先のフォルダを File型で参照すると無事検知できました。こんな初歩的なことで ミスを発見できなくて恥ずかしい限りです。 本当にありがとうございました。