У меня есть файл javascript в качестве встроенного ресурса в сборке, и я пытаюсь использовать поток из "System.Reflection.Assembly.GetExecutingAssembly (). GetManifestResourceStream (" someName ");" для создания нового объекта FileInfo. Я не понимаю, как использовать поток для создания FileInfo. Если кто-нибудь может мне в этом помочь, я был бы очень признателен. Я уверен, что это, вероятно, что-то легкое, но обычно я всегда скучаю по легкому.
Как создать новый файл из FileStream?
comment
@jhorton: вам нужно быть более конкретным в том, что вы пытаетесь сделать и почему вам нужен FileInfo или полагать, что он связан с вашим Stream.
- person casperOne   schedule 02.03.2010
Ответы (3)
Вы должны создать файл, затем прочитать поток ресурсов и записать поток файлов.
person
John Saunders
schedule
02.03.2010
Итак, я хочу создать новый файл, используя что-то вроде File.Create (pathToFolder). Затем используйте Writer для записи потока в файл.
- person jhorton; 02.03.2010
Или просто выполните свой собственный цикл inputStream.Read / outputStream.Write.
- person John Saunders; 02.03.2010
Итак, чтобы уточнить после удачной напишите. Мне пришлось использовать StreamReader для потока EmbeddedResource и StreamWriter для нового FileStream. Очень простые навыки, которые, казалось, просочились из моего метафорического треснувшего стекла.
- person jhorton; 03.03.2010
Вы не можете. Поскольку у вас есть Stream, а FileStream наследуется от Stream, это не означает, что все экземпляры Stream являются экземплярами FileStream (и, по расширению, имеют файлы, которые являются источником Stream).
При этом не имеет смысла, чтобы Stream, возвращенный из вызова GetManifestResourceStream, имел бы связанный с ним FileInfo, точно так же, как NetworkStream не имел бы связанного с ним экземпляра FileInfo.
person
casperOne
schedule
02.03.2010
Если вам действительно нужен FileInfo, вам, вероятно, придется скопировать данные из вашего встроенного ресурса в файл в файловой системе. В этом вопросе есть образец кода.
person
Don Kirkby
schedule
02.03.2010