Общие классы потокового ввода и вывода 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Общие классы потокового ввода и вывода



Класс BufferedStream является потоком, который добавляет буферизацию другому потоку, такому как NetworkStream. (В классе FileStream буферизация является внутренним свойством, а класс MemoryStream не нуждается в буферизации.) Экземпляр класса BufferedStream может быть создан для некоторых типов потоков в целях повышения производительности ввода и вывода. Буфер — это блок байтов памяти, который используется для кэширования данных, тем самым уменьшая количество обращений к операционной системе.

Класс CryptoStream связывает потоки данных с криптографическими преобразованиями. Несмотря на то, что CryptoStream является производным от Stream, он не является частью пространства имен System.IO, а находится в пространстве имен System.Security.Cryptography.

MemoryStream является небуферизованным потоком, чьи инкапсулированные данные напрямую доступны в памяти. Этот поток не имеет резервного хранилища и может быть использован в качестве временного буфера.

Класс NetworkStream представляет Поток через сетевое подключение. Несмотря на то, что NetworkStream является производным от Stream, он не является частью пространства имен System.IO, а находится в пространстве имен System.Net.Sockets.

Ввод-вывод и безопасность

Во время использования классов из пространства имен System.IO для предоставления доступа должны быть выполнены требования безопасности операционной системы, такие как списки управления доступом. Это требование дополняет остальные требования FileIOPermission.

Примечание.
Списком управления доступом можно управлять на программном уровне.
Внимание!
По умолчанию политика безопасности для Интернета и интрасетей запрещает доступ к файлам. Поэтому при создании кода, который будет передаваться через Интернет, обычные классы ввода/вывода неизолированного хранения не используются. Вместо этого используйте Изолированное хранение.

 

Внимание!
Когда открыт файловый или сетевой поток, проверка безопасности производится только во время создания потока. Поэтому будьте внимательны во время передачи этих потоков коду с меньшим уровнем доверия или доменам приложений.

How to: Create a Directory Listing

The following code example shows how to use the I/O classes to create a listing of all files with the extension ".exe" in a directory.

Example

using System; using System.IO; class DirectoryLister { public static void Main(String[] args) { string path = "."; if (args.Length > 0) { if (File.Exists(args[0])) { path = args[0]; } else { Console.WriteLine("{0} not found; using current directory:", args[0]); } } DirectoryInfo dir = new DirectoryInfo(path); foreach (FileInfo f in dir.GetFiles("*.exe")) { String name = f. Name; long size = f.Length; DateTime creationTime = f.CreationTime; Console.WriteLine("{0,-12:N0} {1,-20:g} {2}", size, creationTime, name); } Console.ReadKey(); } }

 


Создание списка каталогов

В следующем примере кода показано использование классов ввода/вывода для создания списка всех файлов с расширением ".exe" в каталоге.

Пример

ß-------


Robust Programming

In this example, the DirectoryInfo is the current directory, denoted by ("."), and the code lists all files in the current directory having a.exe extension, along with their file size, creation time, and name. Assuming that there were.exe files in the \Bin subdirectory of C:\MyDir, the output of this code might look like this:

953 7/20/2000 10:42 AM C:\MyDir\Bin\paramatt.exe 664 7/27/2000 3:11 PM C:\MyDir\Bin\tst.exe 403 8/8/2000 10:25 AM C:\MyDir\Bin\dirlist.exe

If you want a list of files in another directory, such as your C:\ root directory, pass the argument "C:\" into the executable generated by compiling this code, for example: "testApplication.exe C:\".

 


Надежное программирование

В этом примере DirectoryInfo является текущим каталогом, обозначенным ("."), а код создает список всех файлов с расширением.exe в текущем каталоге, вместе с их размерами, временем создания и именами. Если предположить, что существуют файлы.exe в поддиректории \Bin каталога C:\MyDir, результат выхода этого кода может выглядеть следующим образом:

953 7/20/2000 10:42 AM C:\MyDir\Bin\paramatt.exe 664 7/27/2000 3:11 PM C:\MyDir\Bin\tst.exe 403 8/8/2000 10:25 AM C:\MyDir\Bin\dirlist.exe

Если требуется список файлов другого каталога, такого как корневого каталога C:\, то передайте аргумент "C:\" в исполняемый файл путем компиляции этого кода, например: "testApplication.exe C:\".

 



Поделиться:


Последнее изменение этой страницы: 2017-01-19; просмотров: 94; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 13.58.60.192 (0.005 с.)