Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   StreamReader как от него получить filename? (http://forum.oszone.net/showthread.php?t=183886)

RUVATA 26-08-2010 10:47 1482009

StreamReader как от него получить filename?
 
Всем доброго времени суток :)
Visual Studio 2010 /// vb.NET

некий новый экземпляр StreamReader...
Код:

Dim MetaRead As StreamReader = New StreamReader("D:\TodayBackup.txt")
как от него получить имя читаемого им файла, позицию и.т.д ведь это свойства ***Stream
а StreamReader - это интерфейс - он почти не имеет свойств одни методы

RUVATA 26-08-2010 11:17 1482026

вот скрин

RUVATA 26-08-2010 13:51 1482151

Сам и разобрался...

StreamReader - это вспомогательный класс, предоставляющий удобный интерфейс для чтения текстовых данных из потока данных. Источником(потоком) данных является объект System.IO.Stream и именно его читает ридер. Stream представляет обобщенный интерфейс доступа к данным, то есть с его помощью можно читать(записывать) данные, находящиеся не только в файле, но так же в памяти, сети и т. д. Поэтому это абстрактный класс и работать приходится по сути с производными классами, такими как FileStream, MemoryStream, NetSrteam и др.
StreamReader считывает данные одинакова хорошо из любого потока, но когда ты создаешь экземпляр этого класса, передавая конструктору строку с именем файла, то сначала создается FileStream, который в дальнейшем и читается.

А подобраться к свойствам FileStream можно при помощи
DirectCast (Представляет тип операции преобразования на основе наследования или реализации)

вот так можно получит имя файла от экземпляра StreamReader

... = DirectCast(имя экземпляра.BaseStream, System.IO.FileStream).Name


Время: 18:11.

Время: 18:11.
© OSzone.net 2001-