Пытаюсь записать текст в файл при помощи следующего кода:
BinaryWriter writer = new BinaryWriter( new FileStream(file_name, FileMode.Create) );
writer.Write(s);
Строка s имеет длину чуть более 13000 и содержит самые произвольные символы.
При выполнении в этом коде иногда возникает исключение:
System.NotSupportedException. Memory stream is not extandable.
Как с этим бороться?
Заранее спасибо.
Здравствуйте, yg, Вы писали:
yg>Пытаюсь записать текст в файл при помощи следующего кода:
yg>yg>BinaryWriter writer = new BinaryWriter( new FileStream(file_name, FileMode.Create) );
yg>writer.Write(s);
yg>
yg>Строка s имеет длину чуть более 13000 и содержит самые произвольные символы.
yg>При выполнении в этом коде иногда возникает исключение:
yg>yg>System.NotSupportedException. Memory stream is not extandable.
yg>
yg>Как с этим бороться?
yg>Заранее спасибо.
а вы бы могли привести пример кода, который бы вызвал такое исключение (т.е. задание такого s чтобы появлялся указаный эксепшн)?
Очень интересно что-же из-за чего такое получается
что если попробовать так?:
using(FileStream fs = new FileStream(file_name, FileMode.Create))
{
byte[] sbuf = Encoding.UTF8.GetBytes( s );
byte[] lbuf = BitConverter.GetBytes( sbuf.Length );
fs.Write(lbuf, 0, lbuf.Length); // Записываем длину строки
fs.Write(sbuf, 0, sbuf.Length); // Записываем строку
}
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Здравствуйте, Morpheus_, Вы писали:
M_>Здравствуйте, yg, Вы писали:
yg>>Пытаюсь записать текст в файл при помощи следующего кода:
yg>>yg>>BinaryWriter writer = new BinaryWriter( new FileStream(file_name, FileMode.Create) );
yg>>writer.Write(s);
yg>>
yg>>Строка s имеет длину чуть более 13000 и содержит самые произвольные символы.
yg>>При выполнении в этом коде иногда возникает исключение:
yg>>yg>>System.NotSupportedException. Memory stream is not extandable.
yg>>
yg>>Как с этим бороться?
yg>>Заранее спасибо.
M_>а вы бы могли привести пример кода, который бы вызвал такое исключение (т.е. задание такого s чтобы появлялся указаный эксепшн)?
M_>Очень интересно что-же из-за чего такое получается
действительно интересно, такое исключение бросает MemoryStream, но никак не FileStream (смотрел анализатором Рефлектора)
Das Reich der Freiheit beginnt da, wo die Arbeit aufhört. (c) Karl Marx
Здравствуйте, Pavel M., Вы писали:
PM>Здравствуйте, ksg71, Вы писали:
K>>Здравствуйте, Morpheus_, Вы писали:
M_>>>Здравствуйте, yg, Вы писали:
K>>действительно интересно, такое исключение бросает MemoryStream, но никак не FileStream (смотрел анализатором Рефлектора)
PM>вы не думали, что FileStream может использовать MemoryStream ?
Надо же! думал... искал... не нашел...может у Вас получится
Das Reich der Freiheit beginnt da, wo die Arbeit aufhört. (c) Karl Marx