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

一个可能的问题是最后两行的顺序错误:

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 回答