私はC#を使用してファイルの破損を検出する方法を探しています。たぶんこれはあまりにも曖昧ですが、ファイルが一般的に壊れていることを検出する方法があるかどうか疑問に思っています。誰でもこれが可能かどうかを知っていれば、C#でそれをどうやってやるの?ありがとう。一般的な方法は、C#を使用してファイルの破損を検出するには?
1
A
答えて
5
ファイルの外観を知っていれば、それを既知の優れたMD5ハッシュと比較することができます。
それ以外に、特定のパターンの腐敗を探している場合は、たとえば、一連のバイトはある場所にあるはずですが、フラグがつぶれてしまいます。それはすべてあなたが探しているものに依存します。
4
一般的な方法は、CRCのようなものを使用することです。ファイル内に含まれているCRC(通常はファイルに付加されている)と、ペイロードから計算されたCRCを比較します。一致しない場合は、データが破損していることがわかります。
1
ファイルの破損を検出できるAPIはありません。あなたはそれを自分で行う必要がありますし、それをどのように行うかは、あなたの必要に応じて慎重に異なります。
0
ファイルシステムは一般的にこれを行いません。私が知る限り、3つの理由があります。
最初に、あらゆる種類のアンチ・ブロッキング・アルゴリズムは、計算上少し費用がかかるタイプのチェックサムを含むことになります。
第2に、少なくとも2つの破損の原因があります。ドライブセクタが不良になるとファイルが破損する可能性がありますが、アプリケーションによって破損する可能性もあります。もちろん、そのアプリケーションがファイルを改変して新しいバージョンを保存するとき、新しいバージョンは他のすべての単語を 'poop'で置き換えても常に新しいバージョンが素晴らしいと言うでしょう。
第3に、ファイルが破損しているときに例外をスローする以外に何ができますか?ファイルをチェックサムしている場合は、ファイルが壊れていることを知るためのよりきれいな方法がありますが、結局それはまだ壊れていて、停止以外のことはほとんどできません。
関連する問題
- 1. OOPを使用して一般的な検証を実装する方法は?
- 2. 使用して一般的な方法
- 3. C++でのファイル書き込みエラーを検出する一般的な方法はありますか?
- 4. ファイル名の一般的な文字列のグループを検出する方法
- 5. 一般的な方法は、春のデータを検索する
- 6. Javaを使用してファイルの破損や破損をテストする
- 7. Android:検出一般的な使用ユーザによる
- 8. C++のヒープ破損検出ツール
- 9. スカラーオプションパーサーを使用して一般的なケースクラスフィールドを解析する方法は?
- 10. C++でlambdaを使用した非決定的な破損11
- 11. ダウンロードしたgzipファイルの破損を自動的にチェックする方法は?
- 12. ローカルメイヴァレポの破損を検出します。
- 13. リレーショナルデータベースからJSONを抽出する一般的な方法は?
- 14. テクスチャの破損を検出する方法
- 15. C#がMVCのActionResultとして一般的な呼び出しを使用
- 16. オブジェクトが破壊されたときにWeakReferenceを使用する一般的な方法は何ですか?
- 17. テストビューをユニット化/統合して破損の変化を検出する方法
- 18. java 8 groupBYまたは一般的な方法を使用
- 19. WordNet(Java)を使用して別の単語から一般的なハイパーリンクを抽出する方法は?
- 20. 一般的なウェブカメラでのオブジェクト検出
- 21. 一般的なOpenCVラインの検出
- 22. Dynamics CRMでc#を使用してステータスを更新する一般的な方法はありますか
- 23. 一般的にShapelessでフィールド名を抽出する方法は?
- 24. C#の一般的な方法:type引数はエラーを取得
- 25. 一般的なライブラリを作成するスプリングブートの使用方法
- 26. OOを使用して一般的にパラメータを表す方法は?
- 27. System.DirectoryServices.AccountManagementを使用して組織内のすべてのユーザーを検索する一般的な方法?
- 28. 最も一般的な方法は、私はC++で別の
- 29. jQueryの検証 - 一般的なメッセージを削除する方法
- 30. Laravel破損ファイル - ファイルに一時的なパスが含まれていますか?
どのような種類の破損について詳しく説明できますか?エラー訂正を可能にするエンコーディングを使用する方がよいでしょう。 –