この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 4609|答える: 1

[出典] .NET/C# ストリームリードディスクファイルメモリ最適化

[リンクをコピー]
掲載地 2023/06/09 22:29:50 | | | |
要件:以前にも書きましたが、ファイル形式はファイルのヘッダーでチェックされます判断するにはファイルの最初の数バイトだけを読む必要があり、ファイル全体を読む必要はありませんこの記事では、Streamを使ってディスクファイルの最初の数バイトを読み込み、メモリ空間を最適化しています。実際、Streamはその役割ですオンデマンドで読書

復習:

ファイルサイズ バイトからKB、MB、GB、TB単位へのインテリジェント変換
https://www.itsvse.com/thread-3062-1-1.html

.NET/C# ファイルヘッダー内のバイト[]に基づいてファイルをアップロードします
https://www.itsvse.com/thread-10594-1-1.html
使うファイル.ReadAllBytes申請ファイル全体を読むと、プログラムが非常に忙しいことがわかります。 以下に示すように:



実際、ファイルがアプリケーションかどうかを判別するのにわずか2バイトで読み取れますストリームリーダーファイルの最初の2バイトを以下のように読みます。

ハイパーリンクのログインが見えます。



元の記憶からもわかる使用量は287.11MBから20.55MBに減少(ファイルを読み取らずに、プログラム開始後にデフォルトのメモリが20.02MB占拠されます)これは多くの不要なメモリコストが節約されていることを示しています。 コードは以下の通りです:

テキストの冒頭だけを見たい場合は、moreコマンドで表示できます。.NET/C#コードでテキスト内容を読む方法は?

読み方は2通りあり、コードは以下の通りです。



このファイルはプレーンテキストの内容であるため、UTF-8やその他のエンコーディング形式の場合は、ファイルの最初の数バイトを無視する必要があります。つまり、ストリームの位置を設定する必要があります(例:Position = 2)

(終わり)





先の:[MSSQL]SQL SERVERは、主鍵集約インデックステストとしてGUIDと未順序GUIDを順序付けていました
次に:洞察:ブログガーデンからブロガーの署名を見かけました
 地主| 掲載地 2023/07/01 21:13:08 |
テキストファイルを全部読んでください

免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com