Re[3]: Memory stream is not extandable при записи в файл.
От: Pavel M. Россия  
Дата: 12.01.07 10:15
Оценка: -1
Здравствуйте, ksg71, Вы писали:

K>Здравствуйте, Morpheus_, Вы писали:


M_>>Здравствуйте, yg, Вы писали:


K>действительно интересно, такое исключение бросает MemoryStream, но никак не FileStream (смотрел анализатором Рефлектора)


вы не думали, что FileStream может использовать MemoryStream ?
--------------------------
less think — do more
Memory stream is not extandable при записи в файл.
От: yg  
Дата: 09.01.07 10:02
Оценка:
Пытаюсь записать текст в файл при помощи следующего кода:

BinaryWriter writer = new BinaryWriter( new FileStream(file_name, FileMode.Create) );
writer.Write(s);

Строка s имеет длину чуть более 13000 и содержит самые произвольные символы.
При выполнении в этом коде иногда возникает исключение:

System.NotSupportedException. Memory stream is not extandable.

Как с этим бороться?
Заранее спасибо.
Re: Memory stream is not extandable при записи в файл.
От: yg  
Дата: 10.01.07 11:57
Оценка:
up
Re: Memory stream is not extandable при записи в файл.
От: Morpheus_  
Дата: 11.01.07 08:49
Оценка:
Здравствуйте, 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>>
Re[2]: Memory stream is not extandable при записи в файл.
От: ksg71 Германия  
Дата: 11.01.07 14:33
Оценка:
Здравствуйте, 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
Re[4]: Memory stream is not extandable при записи в файл.
От: ksg71 Германия  
Дата: 12.01.07 10:23
Оценка:
Здравствуйте, 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
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.