パケットデータを取得してテキストファイルに書き込むためのUDPクライアントコンソールアプリケーションを開発しました。テキストファイルにデータを書き込むためにストリームを使用しています。テキストファイルは1日を通して書き込まれるため、ストリームを破棄することはできません。ファイルは毎日生成され、前日に書かれたテキストファイルを削除する必要があります。しかし、ファイルを削除することはできません。ファイルが別のプロセスで使用されたというエラーメッセージが表示されます。前日のファイルは実際には現時点では書き込まれていませんが、依然としてストリームにアタッチされているようです。ストリームを破棄または閉じることができないため、特定のプロセスに添付されている古いテキストファイルを削除する方法がありますか?ありがとうございました。ファイルをストリームに添付している間にファイルを削除する方法
-3
A
答えて
1
ストリームを正しく廃棄していないようです。彼らはまだメモリに「生きている」。ストリームがガベージコレクションを維持する理由を理解する必要があります。たとえば、すべてのストリームの参照をグローバルプロパティ(またはそれ以上のマネージャ)に保存し、それが作成されたタイムスタンプDateTime
を保持するなど、これを行うことができます。こうすることで、タイムスタンプをチェックすることで、どのストリームを閉じることができるのかを特定できます。 を閉じるとの両方をストリームに保存してください()。
ストリームはコストがかかり、使用量を最小限に抑える必要があることに注意してください。
+0
Wicher Visser and Baldrick - ありがとうございます。スレッドを使用する設計を変更しなければならず、解読プロセスに影響を与えずにストリームを安全に処分できました。 – Sugandika
関連する問題
- 1. 添付ファイルをダウンロードした後にファイルを削除する
- 2. 添付ファイルのデータを削除する
- 3. 添付ファイルが添付されているメールを削除します。
- 4. UITableView - セルを削除している間にファイルを削除する方法は?
- 5. IOException MailMessageの添付ファイルを使用しているファイルを削除する
- 6. 添付ファイルにストリームする電子メールオブジェクト
- 7. Httpを使用してJira 4.4から添付ファイルを削除する方法
- 8. 新しいフォームの添付ファイルを削除する
- 9. VBA - Outlookが添付ファイルを削除していない
- 10. Delphi - TIdAttachment、添付ファイルのファイル名からパスを削除する
- 11. ラリータスクの添付ファイルを削除するには
- 12. XElementをC#の添付ファイルとしてSMTPメッセージに添付する方法
- 13. サーブレットにアクセスして添付ファイルをダウンロードする方法は?
- 14. 添付ファイルを添付ファイルに追加
- 15. vstoを使用してoutlook mailitemから添付ファイルを削除
- 16. 追加と削除添付ファイルは
- 17. Laravel 5.3ファイルを添付する方法
- 18. カピバラ:ファイルを添付する方法は?
- 19. ボットフレームワークの添付ファイルをSMTPの添付ファイルに変換する
- 20. アプリケーションのiphoneに添付ファイルとして.vcfファイルを追加する方法
- 21. ActiveadminでPaperclip添付ファイルを削除する
- 22. MVCMailer SendAsyncと添付ファイルを削除する
- 23. イメージビューを電子メールの添付ファイルとして添付する方法は?
- 24. Bouncycastle - 添付ファイルからプログラムで添付ファイルを区別する方法
- 25. 添付ファイルをLaravelのメールに添付してください
- 26. 添付ファイル付きのメールをsapui5に送信する方法
- 27. C++でEA Sendmailを使用してメールを送信した後、添付ファイルを削除する方法は?
- 28. KMLファイルを削除して古いKMLファイルを削除する
- 29. ペーパークリップの添付ファイルが削除されていません
- 30. Nuxeoからのメインファイルと添付ファイルの削除/削除
ストリームの書き込みを終了したときに、そのストリームを廃棄するのを止めるのは何ですか? – Baldrick
@Baldrick - プロジェクトの全体的な機能に関連しています。私はテキストファイルに暗号化されたデータを書き、別のWindowsフォームアプリケーションでそれらを解読しています。暗号化と復号化の両方のプロセスで同じ暗号化キーが使用され、プロセスの一貫性を維持するためには同じストリームを維持する必要があります。あなたが示唆したように、私はその日の終わりにストリームを破棄しようとしましたが、結果として破損した(復号化された)データによる解読プロセスに影響を与えました。ありがとうございました。 – Sugandika
あなたは、あなたが避けられない方法で物事を行うことで、回避策を講じようとしている設計上の問題があるようです。あなたのファイルストリームをきれいに整理できるように暗号化メカニズムを再設計することを強くお勧めします。この方法でファイルがロックされていると、ウィンドウでそのファイルを削除することはできません。 – Baldrick