Поток для записи строк и байтов [] массивов? - PullRequest
1 голос
/ 31 августа 2011

Какой класс потока используется для записи в строки файла и массивы byte []?Файл должен быть открыт для добавления или создания нового, если он отсутствует.

using (Stream s = new Stream("application.log")
{
    s.Write("message")
    s.Write(new byte[] { 1, 2, 3, 4, 5 });
}

Ответы [ 4 ]

6 голосов
/ 31 августа 2011

используйте BinaryWriter -Класс

using (Stream s = new Stream("application.log")
{
   using(var b = new BinaryWriter(s))
   {
    b.Write(new byte[] { 1, 2, 3, 4, 5 });
   }
}

или, как предложил Тим Шмельтер (спасибо), просто FileStream:

using (var s = new FileStream("application.log", FileMode.Append, FileAccess.Write)
{
    var bytes = new byte[] { 1, 2, 3, 4, 5 };
    s.Write(bytes, 0, bytes.Length);
}

, этот добавит или создастфайл, если необходимо, но лучше использовать BinaryWriter.

6 голосов
/ 31 августа 2011

Попробуйте использовать BinaryWriter? http://msdn.microsoft.com/en-us/library/system.io.binarywriter.aspx

1 голос
/ 31 августа 2011

Может быть, вам нужно что-то попроще в вашем случае?

File.WriteAllBytes("application.log", new byte[] { 1, 2, 3 });
File.WriteAllLines("application.log", new string[] { "1", "2", "3" });
File.WriteAllText("application.log", "here is some context");
0 голосов
/ 31 августа 2011

Попробуйте BinaryWriter .

...