2011-07-17 19 views

答えて

1

ファイルの最初の行を削除するだけの別のプログラムを呼び出すことは非常に悪い考えです。 C#の最初の行を削除してみてください。

+0

あなたはそれをどうやって考えていますか?私のファイルは40k行以上の大きさで、別のファイルにコピーするには時間がかかります。 – user843453

+0

正解:**あなたのWebサービスからexeを呼びたい場合は、確かCygwinのような別のエミュレーションレイヤーを使用しません。ネイティブWindowsの 'tail.exe'を試してみてください(see: http://tailforwin32.sourceforge.net/) –

0

あなたはそれを削除したいのですか?ファイルの最初の行が必要な場合は、ファイルストリーム(File.Open)を開いて最初の行を取ります。

+0

NO。私は最初の行を取り除きたい。これはCSVファイルなので、最初の行を削除する必要があります。これは、列名が2行目にあるためです。ファイルが巨大なので、私はストリームリーダーを使用する代わりにMS Text Driverを使用しています。提案してください – user843453

1

以前は個人的には巨大なテキストファイルを扱っていませんでしたので、少し調べました。

Efficient way to delete a line from a text file

基本的に、これはあなたが好きではない答えを与えるが、.NET 4がオプションであればメモリマップファイルは、あなたを助けるかもしれません。

0

Cygwinは通常、C:\ CYGWINにインストールされているので、コードから "C:\ cygwin \ usr \ bin \ tail.exe"を呼び出すことで/ usr/binからtailを実行できるはずです。

あなたは本当にこれをやってはいけないと言いました。ちょうどStreamReaderを適切に使用してください。この質問には、次のような優れた例があります。Reading large text files with streams in C#