1

.NETラッパー(この場合はShapelib )を備えたCライブラリがあり、 。のようなパスを使用してファイル(Shapefiles)をファイルシステムに書き込みますC:\Path\To\Things\Filename.shp。ただし、ファイルシステムへのファイルの書き込みは、実際には必要なものではありません。それらが書き込まれたら、とにかくそれらをストリームに読み戻して、Web経由で配信するか、zipファイルに追加するか、またはその他のタスクを実行する必要があります。それらをファイルシステムに書き込むということは、混乱を追跡し、必然的に何らかの方法でそれらをクリーンアップする必要があることを意味します。

パスが次のようになる可能性のあるPHPのストリームプロトコルレジスタのようなものがあるかどうかはわかりませんstream://output.shp...

ファイルシステムの書き込みを傍受して、このタスク全体をメモリ内で処理することは可能ですか?これができたとしても、それは恐ろしい習慣ですか?ありがとう!

4

1 に答える 1

1

これは「事実上不可能」であるというのがコンセンサスです。これを RAM で行う必要がある場合は、RAM ディスク ドライバをインストールすることをお勧めします。[Windows インターセプト ファイル出力] を Google 検索します。または、Windows 7 のプログラムからのインターセプト出力を確認してください。

とはいえ、ディスクに書き込むデータの多く、おそらく大部分がメモリにバッファリングされる可能性は十分にあるため、逆にディスクからデータを読み取ることはそれほど高価ではありません。クリーンアップの問題はまだありますが、解決するのはそれほど難しくありません。try/finallyブロックを使用するだけです。

try
{
    // do everything
}
finally
{
    // clean up
}
于 2013-03-04T14:55:46.223 に答える