問題タブ [file-io]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 設計: 大規模なアーカイブ ファイル エディター、ファイル マッピング
ネイティブおよびマネージド C++ で、4 GB 以上の大きなアーカイブ ファイル(以下を参照)用のエディターを作成しています。
ファイルにアクセスするために、私は普通の人のようにファイル マッピング(下記参照) を使用しています。これはデータの読み取りには非常に優れていますが、実際にアーカイブを編集する際に問題が発生します。ファイル マッピングでは、アクセス中にファイルのサイズを変更することはできないため、ユーザーがファイルに新しいデータを挿入したい場合 (マップされたときのファイルの元のサイズを超えてしまう)、どのように処理すればよいかわかりません。
毎回全体を再マップする必要がありますか? それは遅いはずです。ただし、排他的なファイル アクセスを使用してエディターをリアルタイムに維持したいと考えています。これにより、プログラミングが大幅に簡素化され、変更中に他のアプリケーションによってファイルが台無しにされることがなくなります。私はエディタの作業に永遠を費やしたくありません。これは、私が取り組んでいる実際のプロジェクトの単純な開発ツールです。
同様のケースをどのように処理したか、また、他のアーカイブ ソフトウェア、特に他のゲームでこれを解決する方法を教えてください。
明確にするために:
これはテキスト ファイルではなく、特定のバイナリアーカイブ ファイル形式で記述しています。これは、ディレクトリ内に他の多くのファイルを含む大きなファイルを意味します。カスタム アーカイブ ファイルは、さまざまな理由から、ゲームの使用において非常に一般的です。私のフォーマットでは、Valve Software の GCF フォーマットと同様の (ただし、やや単純な) 構造を目指しています。GCF フォーマットをそのまま使用することもできますが、残念ながらこのフォーマット用のエディターは存在しません。HLLibのように、それらを読み取るため。
ゲーム リソースの保存を目的としているため、ファイルへのアクセスは高速である必要があります。したがって、データベースではありません。データベースファイルは、GFX、SFX などのファイルとともに、その中に含まれます。
ここで説明する「ファイル マッピング」は、Windows プラットフォームでの特定の手法であり、大きなファイルの一部に「ビュー」を作成することで、大きなファイルに直接アクセスできます。こちらを参照してください: http://msdn.microsoft.com/en-us /library/aa366556(VS.85).aspx - この手法により、待機時間とメモリ使用量を最小限に抑えることができ、大きなファイルに簡単にアクセスできます。したがって、これは4GB のファイル全体をメモリに読み込むという意味ではなく、まったく逆です。
file-io - アプリケーションがアクセスしようとしているファイルを知る方法は?
アプリケーションがアクセスしようとしているファイルとレジストリ キーを知るにはどうすればよいですか?
vb6 - VB6、ファイルが存在しません、どうすれば適切に処理できますか?
ファイルがネットワーク上に存在するかどうかをチェックするアプリケーションをテストしています。私のテストでは、ファイルが見つからないように意図的にネットワーク プラグを抜いています。問題は、これによりアプリが少なくとも 15 秒間応答しなくなることです。VB6 で FileExists() 関数と GetAttr() 関数の両方を使用しました。この問題を解決する方法を知っている人はいますか?(いいえ、VB6 を使うのをやめるわけにはいきません)
ありがとう、チャーリー
flash - Actionscriptでファイルの最初の行だけを読み取ることは可能ですか?
PHPベースのサイトがあり、ユーザーは、サーバー側のスクリプトによってインポートされるデータのコンマ区切りのテキストファイルをアップロードできます。ただし、アップロードするデータの列の順序を調整する必要がある場合があります。アップロードが行われる前に、CSVファイルの列を識別できれば非常に役立ちます。
ローカルファイルI/Oにアクセスするために私が考えることができる唯一の方法は、Javaプラグインまたは埋め込みフラッシュスクリプトを使用することです。後者の方がはるかに望ましいです。Flashでローカルハードドライブ上のテキストファイルを選択し、ActionScriptを使用して最初の行(この例では列見出しに対応)のみを調べる方法はありますか?
これらのファイルは100MBを超える場合があるため、すべてをメモリにロードしてから、最初の行を除くすべてを破棄すると効率的に機能しない可能性があります。そのため、ActionScriptに、読み込まれるデータの量を制限する構文があるかどうか疑問に思います。一度に。
c# - 使用中のファイルを単に「読み取る」ことはできますか?
StreamReader を使用してファイルを読み取ろうとしていますが、常に別のプロセスで使用されているため、次のエラーが発生します。
別のプロセスで使用されているため、プロセスはファイル '\arfjwknasgmed17\C$\FLAG CONDITION\CP-ARFJN-FLAG.XLS' にアクセスできません。
これをコピーせずに読む方法はありますか?それともそれが私の唯一の選択肢ですか?
windows - I/O Performance Sanity Check - ファイルの存在を確認する
ファイルを開いて送信する前に、ファイルが存在するかどうかを確認する際に重大なパフォーマンス上の問題があることを認識していますか? このコンテキストは、ASP ページを介して動的にファイルを提供する Web アプリケーションです。データベースにはこの情報が保存されているため、ファイルが存在するかどうかのチェックは行われず、間違いではないと言われました。もちろん、さまざまな理由で間違っている場合もあるため、何も返さずにユーザーを不幸にすることはありません。
私の本能は、ファイルの存在をチェックすることは非常に簡単なので、心配する必要はないということですが、そうではないと言われました。それが役立つ場合、私たちのストレージソリューションはかなり強力なものです(Webサーバー上のIDEドライブだけではありません). 私の質問は基本的に: 私の本能は正しいですか?
ありがとう!
注: これらのファイルは、単に削除されることはありません。それらが失われるには何か問題が発生する必要がありますが、これは週に数回発生します。また、ファイルの存在を確認したい理由は、ディスク上にある代替アセットを返すことができるためです。そのため、例外をキャッチして処理するのではなく、そのロジックをすべて 1 つの場所に配置できるようにしたいと考えています。その文脈でそれ。
matlab - Matlab のバイナリ ファイルの読み書き
matlab に関する私の知識は単に知る必要があるため、これはおそらく初歩的な質問です。それにもかかわらず、ここに来ます:
バイナリ形式で保存されたデータ (16 ビット整数) を含むファイルを取得しました。matlabのベクトル/配列に読み込むにはどうすればよいですか? このデータを matlab のファイルに書き込むにはどうすればよいですか? 大量のデータ (ギガバイト) を読み書きするときのパフォーマンス速度を上げるスマートな調整はありますか?
perl - Perlでファイルを文字列に丸呑みする最良の方法は何ですか?
はい、それを行う方法は複数ありますが、標準的または最も効率的または最も簡潔な方法が必要です。私が知っている回答を追加し、何が一番上に浸透するかを確認します。
明確にするために、問題はファイルの内容を文字列に読み取る最善の方法です。回答ごとに 1 つのソリューション。
file-io - Gmailはファイルの添付ファイルをどのように処理しますか?
Gmailの作成画面で添付するファイルを選択すると、ページを更新せずにファイルがサーバーに自動的にアップロードされます。FireBugを介してhtmlソースコードを確認しましたが、iframeは表示されていません。添付ファイルをどのようにアップロードしますか?
ありがとう。
c# - C#のファイルから画像を検証します
ファイルから画像を読み込んでいますが、ファイルから完全に読み取る前に画像を検証する方法を知りたいです。
この問題は、image.jpgが実際にはjpgではない場合に発生します。たとえば、空のテキストファイルを作成してその名前をimage.jpgに変更すると、image.jpgが読み込まれたときにOutOfMemory例外がスローされます。
画像のストリームまたはファイルパスを指定して画像を検証する関数を探しています。
関数プロトタイプの例