Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 文件流创建或附加问题_C#_Filestream - Fatal编程技术网

C# 文件流创建或附加问题

C# 文件流创建或附加问题,c#,filestream,C#,Filestream,我对文件流有问题。我正在为我正在处理的FPGA项目编写一个C#串行接口,该接口接收一个数据包(包含16个字节),创建并将字节写入一个文件,然后附加到创建的文件中 程序没有抛出任何错误,但似乎没有通过创建文件,也没有向其中写入任何数据 有什么想法吗?有没有更好的方法打开或显示文件 提前感谢,, 迈克尔 FileMode.Append已经表示“创建或追加”,因此实际上您只需要else{}部分if。您也不需要调用Flush()或Close()——处理流就可以了。 不确定是否不写入数据。。。你试过追踪你

我对文件流有问题。我正在为我正在处理的FPGA项目编写一个C#串行接口,该接口接收一个数据包(包含16个字节),创建并将字节写入一个文件,然后附加到创建的文件中

程序没有抛出任何错误,但似乎没有通过创建文件,也没有向其中写入任何数据

有什么想法吗?有没有更好的方法打开或显示文件

提前感谢,, 迈克尔


FileMode.Append
已经表示“创建或追加”,因此实际上您只需要
else{}
部分
if
。您也不需要调用
Flush()
Close()
——处理流就可以了。 不确定是否不写入数据。。。你试过追踪你的代码吗

所以首先我要把你的代码简化为

private void SendReceivedDataToFile(int sendBytes)
{
    using (var fs = new FileStream(tbSaveDirectory.Text, FileMode.Append))
        fs.Write(oldData, 0, sendBytes);
    readByteCount += sendBytes;
}

然后试着找出
旧数据中的确切内容

谢谢,知道这些信息很有用。我一直在跟踪代码,似乎问题可能是我传递给函数的整数。我会进一步调查的。好吧,结果证明这个问题很愚蠢/琐碎。我把一个整数设置成了错误的值(用十六进制表示,我希望它是十进制的)。非常感谢您的代码缩减,非常感谢。
private void SendReceivedDataToFile(int sendBytes)
{
    using (var fs = new FileStream(tbSaveDirectory.Text, FileMode.Append))
        fs.Write(oldData, 0, sendBytes);
    readByteCount += sendBytes;
}