Практическое руководство. Создание копии файла в другом каталоге в Visual Basic

Метод My.Computer.FileSystem.CopyFile позволяет копировать файлы. Его параметры обеспечивают возможность перезаписи существующих файлов, переименования файлов и отображения хода выполнения операции, а также отмены операции пользователем.

Копирование текстового файла в другую папку

  • Используйте для копирования файла метод CopyFile, исходный файл и целевой каталог. Параметр overwrite позволяет указать, следует ли перезаписывать существующие файлы. В следующем примере кода демонстрируется использование метода CopyFile.

    ' Copy the file to a new location without overwriting existing file.
    My.Computer.FileSystem.CopyFile(
        "C:\UserFiles\TestFiles\testFile.txt",
        "C:\UserFiles\TestFiles2\testFile.txt")
    
    ' Copy the file to a new folder, overwriting existing file.
    My.Computer.FileSystem.CopyFile(
        "C:\UserFiles\TestFiles\testFile.txt",
        "C:\UserFiles\TestFiles2\testFile.txt",
        Microsoft.VisualBasic.FileIO.UIOption.AllDialogs,
        Microsoft.VisualBasic.FileIO.UICancelOption.DoNothing)
    
    ' Copy the file to a new folder and rename it.
    My.Computer.FileSystem.CopyFile(
        "C:\UserFiles\TestFiles\testFile.txt",
        "C:\UserFiles\TestFiles2\NewFile.txt",
        Microsoft.VisualBasic.FileIO.UIOption.AllDialogs,
        Microsoft.VisualBasic.FileIO.UICancelOption.DoNothing)
    

Отказоустойчивость

Исключение может возникнуть в следующих случаях:

  • Путь недействителен по одной из следующих причин: это строка нулевой длины, она содержит только пробелы, содержит недопустимые символы, или это путь устройства (начинается с \\.\).\) (ArgumentException).

  • Системе не удалось получить абсолютный путь (ArgumentException).

  • Путь не является допустимым, поскольку он равен Nothing (ArgumentNullException).

  • Исходный файл является недопустимым или не существует (FileNotFoundException).

  • Объединенный путь указывает на существующий каталог (IOException).

  • Конечный файл существует, а параметр overwrite имеет значение False (IOException).

  • Пользователь не имеет необходимых разрешений для доступа к файлу (IOException).

  • Файл в папке назначения с тем же именем уже используется (IOException).

  • Имя файла или папки в пути содержит двоеточие (:) или имеет недопустимый формат (NotSupportedException).

  • Параметр ShowUI имеет значение True, параметр onUserCancel имеет значение ThrowException, и пользователь отменил операцию (OperationCanceledException).

  • ShowUI имеет значение True, параметр onUserCancel имеет значение ThrowException, и возникла неопределенная ошибка ввода-вывода (OperationCanceledException).

  • Длина пути превышает максимальную длину, определенную в системе (PathTooLongException).

  • У пользователя отсутствует необходимое разрешение (UnauthorizedAccessException).

  • У пользователя отсутствуют необходимые разрешения на просмотр пути (SecurityException).

См. также