Я пытаюсь получить байт [] с FileInfo
.Не могу написать из FileStream
Здесь FileInfo
(fi) - это файл, который я заглядываю в свое приложение silverlight.
Итак, как найти на msnd, я делаю это:
byte[] b = new byte[fi.Length];
UTF8Encoding temp = new UTF8Encoding(true);
//Open the stream and read it back.
using (FileStream fs = fi.OpenRead())
{
while (fs.Read(b, 0, b.Length) > 0)
{
Console.WriteLine(temp.GetString(b));
}
}
Но, чтобы сделать это уровень защиты, я не могу использовать это.
Итак, я сделал это:
byte[] b = new byte[fi.Length];
UTF8Encoding temp = new UTF8Encoding(true);
//Open the stream and read it back.
using (FileStream fs = fi.OpenRead())
{
while (fs.Read(b, 0, b.Length) > 0)
{
fs.Write(b, 0, b.Length);
}
}
Но я получил сообщение, что я не могу писать от FileStream
.
Почему я не могу написать свой файл Я вхожу в свое приложение в байт? Когда файл падает, он становится FileInfo.
Почему я использую OpenRead()
? Потому что на msdn, кажется, он пишет файл: here
OpenWrite()
также вызывает ошибку доступа.
Есть ли другой способ получить документ FileInfo, в байт?
Итак, у вас есть открытый поток для чтения, но он пытается написать ему ... Что еще вы ожидаете - «не могу писать в поток R/O», кажется, разумное поведение для меня ... Не конечно, что вы пытаетесь сделать в целом - так что вы, вероятно, имеете что-то другое - подумайте о том, чтобы добавить свою реальную цель к вопросу. –
Посмотрите: 'fs = fi.OpenRead()', 'fs' открывается для чтения, а не для записи –
@AlexeiLevenkov, что я хочу, напишите File I drop (превратитесь в FileInfo) в байт. –