0

サーバーとクライアントがあります。サーバーは、実行可能ファイルと input.txt をクライアントに送信します。クライアントはそれを実行して出力をサーバーに送信する必要がありますが、問題があります。実行可能ファイルを実行しようとすると、引数の形式に関するエラーが発生します。その後、入力ファイルを保存します(文字をすばやく追加して削除するだけです)実行可能ファイルは、正確な内容を持っているにもかかわらず、別のファイルとして保存した後、正常に実行されます。

BinaryWriter を使用してファイルを保存しています:

FileStream fs = File.Open(filename, FileMode.OpenOrCreate);
BinaryWriter BW = new BinaryWriter(fs);
.......
fs.Close();
BW.Close();

BinaryWriter と filestream を閉じた後、パラメーター input.txt を使用して実行可能ファイルを実行します。ファイルの保存またはストリームの終了に問題があると思いますが、まだ見つかりませんでした。どんな助けでも大歓迎です...

4

1 に答える 1

3

考えられる問題は、最後の 2 行の順序が間違っていることです。

fs.Close();
BW.Close(); // tries to close the file and maybe flush some buffers

少なくともそれらを逆にする必要がありますが、usingブロックを使用することをお勧めします。

using (FileStream fs = File.Open(filename, FileMode.OpenOrCreate))
using (BinaryWriter BW = new BinaryWriter(fs))
{
    .......
}
于 2011-01-04T15:11:43.500 に答える