我有一台服务器和一台客户端。服务器将可执行文件和input.txt发送到客户端。客户端应该执行它并将输出发送到服务器但我有问题。当我尝试运行可执行文件时,它会给出有关参数格式的错误。之后,我将输入文件保存为(只需快速添加和删除char)可执行文件,将其保存为另一个文件后成功运行,尽管它具有确切的内容。
我正在使用BinaryWriter保存文件:
FileStream fs = File.Open(filename, FileMode.OpenOrCreate);
BinaryWriter BW = new BinaryWriter(fs);
.......
fs.Close();
BW.Close();
在关闭BinaryWriter和filestream之后,我使用参数input.txt运行可执行文件。我认为保存文件或关闭流有问题,但我还没找到它。任何帮助将不胜感激......
答案 0 :(得分: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))
{
.......
}