Практическая работа по теме Приемы работы с различными источниками данных 1 Задание Элементы управления MainMenu, OpenFileDialog и SaveFileDialog 1




Скачать 329.88 Kb.
страница5/6
Дата14.07.2016
Размер329.88 Kb.
1   2   3   4   5   6

Задание 6. Действия над файлами

Задача


Требуется удалить, переименовать файл или проверить его наличие. Или вам нужно кое-что узнать о файле, скажем, его атрибуты или дату создания.

Решение


Создайте для файла экземпляр класса System.IO.FileInfo и воспользуйтесь его свойствами и методами.

Обсуждение


Для создания объекта FileInfo нужно просто указать в его конструкторе относительный или полностью определенный путь к файлу, причем сам файл может не существовать. Пространство имен System.IO удобнее импортировать в заголовке модуля. После того, как объект класса FileInfo создан, вы можете задействовать свойства и методы объекта для получения полной информации о файле или можете выполнять над ним всевозможные действия.

В задании 7 вы поработаете еще с одним классом DirectoryInfo, этот класс выполняет действия над каталогами, имеет очень похожие свойства и методы с классом FileInfo. В табл. 1. приведены свойства и методы этих классов, в табл. 2. приведены свойства и методы, входящие в состав только класса FileInfo.






Табл.1.

Общие члены классов FileInfo и DirectoryInfo




Имя

Описание

Exists

Возвращает True или False в зависимости от того, существует ли файл/каталог в указанном месте.

Attributes

Возвращает одно или более значений перечисления FileAttributes, представляющего атрибуты файла/каталога.

CreationTime,

LastAccessTime,



LastWriteTime

Эти свойства возвращают экземпляр DateTime, определяющий соответственно время создания, время последнего доступа и время последнего обновления файла/каталога.

FullName, Name, Extension

Эти свойства возвращают строку. Представляющую соответственно полностью определенное имя каталога/файла, имя каталога/файла (с расширением) и только расширение.

Delete

Удаляет файл/каталог, если таковой существует. Каталог, содержащий другие каталоги, можно удалить перегруженным методом Delete, принимающим параметр recursive, передав в качестве этого параметра True.

Refresh

Обновляет объект FileInfo или DirectoryInfo так, чтобы он был синхронизирован с любыми изменениями файловой системы, происшедшими с момента его создания (такими как изменение атрибута файла при помощи Windows Explorer, то есть вручную).

MoveTo

Копирует каталог со всем содержимым или просто файл. В случае объекта DirectoryInfo вы должны указать новый путь. В случае объекта FileInfo нужно указать путь и имя файла. Кроме того, метод MoveTo позволяет переименовывать файл/каталог без изменения его расположения.

Большинство возможностей, обеспечиваемых объектом FileInfo, доступно и через общие (shared) методы класса File. Как правило, класс FileInfo следует использовать, когда вы хотите получить более одного фрагмента информации за раз, потому что этот класс выполняет проверку безопасности один раз (при создании экземпляра класса FileInfo). А не при каждом вызове метода. Кроме того, объект не имеет свойства Length.




Табл.2.

Члены класса FileInfo




Имя

Описание

Length

Возвращает размер файла в байтах.

DirectoryName, Directory

Свойство DirectoryName возвращает имя родительского каталога, в котором находится данный файл, а свойство Directory – полный объект DirectoryInfo, представляющий родительский каталог и позволяющий получить более подробную информацию о нем.

CopyTo

Копирует файл, принимая в качестве параметра новый путь и новое имя файла, и возвращает новый объект FileInfo, соответствующий новому (скопированному) файлу. Для разрешения перезаписи файла можно указать дополнительный необязательный параметр True.

Create, CreateText

Метод Create создает указанный файл и возвращает объект FileStream, который можно использовать для записи данных в файл. Метод CreateText делает то же самое, но возвращает объект StreamWriter, играющий роль оболочки для потока.

Open, OpenRead, OpenText, OpenWrite

Эти методы открывают файл (если он существует). OpenRead и OpenText открывают файл только для чтения, возвращая соответственно объект FileStream или StreamReader. OpenWrite открывает файл только для записи, возвращая объект FileStream.

Самостоятельно


Создайте консольное приложение, позволяющее выводить сведения о файле, указанном в качестве аргумента в конструкторе объекта класса FileInfo. Пример работы такого приложения приведен на рис. 5.12.

Рис. 5.12. Пример приложения для отображения информации о файле

При помощи класса FileInfo мы можем просто и удобно создавать новый файл в файловой системе (рис. 5.13):

Imports System.IO

Module Module1

Sub Main()

'Укажем имя для нового файла

Dim FileName As String = "c:\1.txt"

'Создадим новый файл

Dim CheckFile As New FileInfo(FileName)

'Оъект FileInfo, созданный для файла, имя которого указано в качестве входного параметра в конструкторе, позволяет использовать его методы и свойства. Метод CreateText() возвращает объект StreamWriter для взаимодействия с этим файлом: для записи текстовых данных в новый файл

Dim sw As StreamWriter = CheckFile.CreateText

'Выводим основную информацию о созданном нами файле

Console.WriteLine("Тестируемый файл " & CheckFile.Name)



Console.WriteLine("В каталоге " & CheckFile.DirectoryName)

Console.WriteLine("Файл существует " & CheckFile.Exists.ToString)

If CheckFile.Exists Then

Console.Write("Файл создан ")

Console.WriteLine(CheckFile.CreationTime.ToString)

Console.Write("Последнее обновление ")

Console.WriteLine(CheckFile.LastWriteTime.ToString)

Console.Write("Последний доступ ")

Console.WriteLine(CheckFile.LastAccessTime.ToString)

Console.Write("Размер файла в байтах ")

Console.WriteLine(CheckFile.Length.ToString)

Console.Write("Файловые атрибуты ")

Console.WriteLine(CheckFile.Attributes.ToString)

'Закрываем объект StreamWriter, так и не воспользовавшись его методами и свойствам (рассмотрим их в следующем задании)

sw.Close()

‘и удаляем файл

CheckFile.Delete()

End If


Console.ReadLine()

End Sub


End Module


Рис. 5. 13. Создаем файл на диске программным образом


1   2   3   4   5   6


База данных защищена авторским правом ©uverenniy.ru 2016
обратиться к администрации

    Главная страница