books-read.com
books-read.com » Компьютеры и Интернет » Базы данных » Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю

Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю

Наш ресурс дает возможность бесплатно читать книгу онлайн Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю. Жанр: Базы данных . Сайт books-read.com дает возможность читать полную версию книги без регистрации и sms. Все книги онлайн, не надо качать fb2, epub, txt.
Добавить книгу Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю в приложение ЧИТАТЬ КНИГУ ОФЛАЙН в приложении ios/android
Перейти на страницу:

<b>  // Записать данные.</b>

  bw.Write(aDouble);

  bw.Write(anInt);

  bw.Write(aString);

}

Console.WriteLine(&quot;Done!&quot;);

Console.ReadLine();

Обратите внимание, что объект

FileStream
, возвращенный методом
FileInfo.OpenWrite()
, передается конструктору типа
BinaryWriter
. Применение такого приема облегчает организацию потока по уровням перед записью данных. Конструктор класса
BinaryWriter
принимает любой тип, производный от
Stream
(например,
FileStream
,
MemoryStream
или
BufferedStream
). Таким образом, запись двоичных данных в память сводится просто к использованию допустимого объекта
MemoryStream
.

Для чтения данных из файла

BinFile.dat
в классе
BinaryReader
предлагается несколько способов. Ниже для извлечения каждой порции данных из файлового потока вызываются разнообразные члены, связанные с чтением:

...

FileInfo f = new FileInfo(&quot;BinFile.dat&quot;);

...

<b>// Читать двоичные данные из потока.</b>

using(BinaryReader br = new BinaryReader(f.OpenRead()))

{

  Console.WriteLine(br.ReadDouble());

  Console.WriteLine(br.ReadInt32());

  Console.WriteLine(br.ReadString());

}

Console.ReadLine();

Программное слежение за файлами

Теперь, когда вы знаете, как применять различные средства чтения и записи, давайте займемся исследованием роли класса

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

IO.NotifyFilters:

public enum NotifyFilters

{

  Attributes, CreationTime,

  DirectoryName, FileName,

  LastAccess, LastWrite,

  Security, Size

}

Чтобы начать работу с типом

FileSystemWatcher
, в свойстве
Path
понадобится указать имя (и местоположение) каталога, содержащего файлы, которые нужно отслеживать, а в свойстве
Filter
— расширения отслеживаемых файлов.

В настоящий момент можно выбрать обработку событий

Changed
,
Created
и
Deleted
, которые функционируют в сочетании с делегатом
FileSystemEventHandler
. Этот делегат может вызывать любой метод, соответствующий следующей сигнатуре:

<b>// Делегат FileSystemEventHandler должен указывать</b>

<b>// на методы, соответствующие следующей сигнатуре.</b>

void MyNotificationHandler(object source, FileSystemEventArgs e)

Событие

Renamed
может быть также обработано с использованием делегата
RenamedEventHandler
, который позволяет вызывать методы с такой сигнатурой:

// Делегат RenamedEventHandler должен указывать

// на методы, соответствующие следующей сигнатуре.

<b>void MyRenamedHandler(object source, RenamedEventArgs e)</b>

В то время как для обработки каждого события можно применять традиционный синтаксис делегатов/событий, вы определенно будете использовать синтаксис лямбда-выражений.

Давайте взглянем на процесс слежения за файлом. Показанный ниже проект консольного приложения(

MyDirectoryWatcher
с оператором
using
для
System.IO
) наблюдает за файлами
*.txt
в каталоге
bindebugnet5.0
и выводит на консоль сообщения, когда происходит их создание, удаление, модификация и переименование:

using System;

using System.IO;

Console.WriteLine(&quot;***** The Amazing File Watcher App *****n&quot;);

<b>// Установить путь к каталогу, за которым нужно наблюдать.</b>

FileSystemWatcher watcher = new FileSystemWatcher();

try

{

  watcher.Path = @&quot;.&quot;;

}

catch(ArgumentException ex)

{

 Console.WriteLine(ex.Message);

  return;

}

<b>// Указать цели наблюдения.</b>

watcher.NotifyFilter = NotifyFilters.LastAccess

  | NotifyFilters.LastWrite

  | NotifyFilters.FileName

  | NotifyFilters.DirectoryName;

<b>// Следить только за текстовыми файлами.</b>

watcher.Filter = &quot;*.txt&quot;;

<b>// Добавить обработчики событий.</b>

<b>// Указать, что будет происходить при изменении,</b>

Перейти на страницу:

Троелсен Эндрю читать все книги автора по порядку

Троелсен Эндрю - на сайте онлайн книг books-read.com Вы можете читать полные версии книг автора в одном месте.


Язык программирования C#9 и платформа .NET5 отзывы

Отзывы читателей о книге Язык программирования C#9 и платформа .NET5, автор: Троелсен Эндрю. Читайте комментарии и мнения людей о произведении.


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

  • 1. Просьба отказаться от дискриминационных высказываний. Мы защищаем право наших читателей свободно выражать свою точку зрения. Вместе с тем мы не терпим агрессии. На сайте запрещено оставлять комментарий, который содержит унизительные высказывания или призывы к насилию по отношению к отдельным лицам или группам людей на основании их расы, этнического происхождения, вероисповедания, недееспособности, пола, возраста, статуса ветерана, касты или сексуальной ориентации.
  • 2. Просьба отказаться от оскорблений, угроз и запугиваний.
  • 3. Просьба отказаться от нецензурной лексики.
  • 4. Просьба вести себя максимально корректно как по отношению к авторам, так и по отношению к другим читателям и их комментариям.

Надеемся на Ваше понимание и благоразумие. С уважением, администратор books-read.com


Прокомментировать
Подтвердите что вы не робот:*