Файлы. Классы File и FileInfo

Последнее обновление: 30.10.2015

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

Некоторые полезные методы и свойства класса FileInfo:

  • Метод CopyTo(path) копирует файл в новое место

  • Метод Create() создает файл

  • Метод Delete() удаляет файл

  • Метод MoveTo(destFileName) перемещает файл в новое место

  • Свойство Directory получает родительский каталог в виде объекта DirectoryInfo

  • Свойство DirectoryName получает полный путь к родительскому каталогу

  • Свойство Exists определяет, существует ли файл

  • Свойство Length получает размер файла в байтах

  • Свойство Extension получает расширение файла

  • Свойство Name получает имя файла

  • Свойство FullName получает полное имя файла

Класс File действует похожим образом, реализуя свое поведение через следующие статические методы:

  • Метод Copy() копирует файл в новое место

  • Метод Create() создает файл

  • Метод Delete(): удаляет файл

  • Метод Move перемещает файл в новое место

  • Метод Exists(file) определяет, существует ли файл

Получим информацию о файле

Dim path As String = "C:\SomeDir\hta.txt"
Dim fileInfo As New FileInfo(path)

If fileInfo.Exists = True Then
    Console.WriteLine("Имя файла: {0}", fileInfo.Name)
    Console.WriteLine("Время создания: {0}", fileInfo.CreationTime)
    Console.WriteLine("Размер: {0}", fileInfo.Length)
End If

Удаление файла

Dim path As String = "C:\SomeDir\hta.txt"
Dim fileInfo As New FileInfo(path)

If fileInfo.Exists = True Then
    fileInfo.Delete()
    'альтернативный способ с помощью класса File
    'File.Delete(path)
End If

Перемещение файла

Dim oldPath As String = "C:\SomeDir\hta.txt"
Dim newPath As String = "C:\SomeFolder\hta.txt"
Dim fileInfo As New FileInfo(oldPath)
If fileInfo.Exists = True Then
    fileInfo.MoveTo(newPath)
    'альтернативный способ с помощью класса File
    'File.Move(oldPath, newPath)
End If

Копирование файла

Dim oldPath As String = "C:\SomeDir\hta.txt"
Dim newPath As String = "C:\SomeFolder\hta.txt"
Dim fileInfo As New FileInfo(oldPath)
If fileInfo.Exists = True Then
    fileInfo.CopyTo(newPath, True)
    'альтернативный способ с помощью класса File
    'File.Copy(oldPath, newPath, True)
End If

Метод CopyTo класса FileInfo принимает два параметра: путь, по которому файл будет копироваться, и логическое значение, определяющее, надо ли при копировании перезаписывать файл (если True, файл перезаписывается). Если же в качестве последнего параметра передать значение False, а такой файл уже существует, то приложение выдаст ошибку.

Аналогичен этому способу копирования метод Copy класса File, который принимает три параметра: путь к исходному файлу, путь, по которому файл будет копироваться, и булевое значение, указывающее, будет ли файл перезаписываться.

Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850