C # отправка файла, проблема с потоком - PullRequest
0 голосов
/ 04 января 2011

У меня есть сервер и клиент. Сервер отправляет исполняемый файл и файл input.txt клиенту. Клиент должен выполнить его и отправить вывод на сервер, но у меня проблема. Когда я пытаюсь запустить исполняемый файл, он выдает ошибку о формате аргумента. После этого я сохраняю входной файл как (просто сделав быстрое добавление и удаление символа), исполняемый файл успешно запускается после сохранения его как другого файла, хотя и содержит точное содержимое.

Я сохраняю файл с помощью BinaryWriter:

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

Я запускаю исполняемый файл с параметром input.txt после закрытия BinaryWriter и filestream. Я думаю, что есть проблема с сохранением файла или, возможно, с закрытием потока, но я пока не смог его найти. Любая помощь будет оценена ...

1 Ответ

3 голосов
/ 04 января 2011

Возможная проблема в том, что последние 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))
{
    .......
}
...