Filestream créer ou ajouter la question
Je suis d'avoir des problèmes avec FileStreams. Je suis dans le processus de rédaction d'un C# interface série pour le FPGA projet, je travaille sur qui reçoit un paquet contenant 16 octets) crée et écrit les octets d'un fichier et ensuite ajoute dans le fichier créé.
Le programme n'est pas jeter les erreurs mais ne semble pas obtenir au-delà de la création du fichier, et de ne pas écrire de données.
Des Idées? EST-il une meilleure façon de OpenOrAppend un fichier?
Merci d'Avance,
Michael
private void SendReceivedDataToFile(int sendBytes)
{
if (saveFileCreated == false)
{
FileStream writeFileStream = new FileStream(tbSaveDirectory.Text, FileMode.Create);
writeFileStream.Write(oldData, 0, sendBytes);
writeFileStream.Flush();
writeFileStream.Close();
saveFileCreated = true;
readByteCount = readByteCount + sendBytes;
}
else
{
using (var writeFilestream2 = new FileStream(tbSaveDirectory.Text, FileMode.Append))
{
writeFilestream2.Write(oldData, 0, sendBytes);
writeFilestream2.Flush();
writeFilestream2.Close();
readByteCount = readByteCount + sendBytes;
}
}
if (readByteCount == readFileSize) //all data has been recieved so close file.
{
saveFileCreated = false;
}
}
OriginalL'auteur TheEngineerer | 2012-03-17
Vous devez vous connecter pour publier un commentaire.
FileMode.Append
signifie déjà "créer ou ajouter", alors, vraiment, vous n'avez besoin de laelse {}
partie de votreif
. Vous n'avez pas besoin d'appelerFlush()
ouClose()
- de disposer du flux va le faire pour vous.Pas sûr de ne pas écrire de données... avez-vous essayez de tracer votre code?
Alors d'abord je voudrais réduire votre code de
alors essayez de comprendre ce qu'est exactement dans la
oldData
.Merci pour votre aide
Ok, le problème il s'avère que c'était stupide/trivial. J'avais mis un entier de valeur erronée (spécifié dans l'hex par mettre ce que je voulais que ce soit en décimal.) Merci pour le code réduction de la, Beaucoup apprécié.
OriginalL'auteur Ilia G