Кроме ранее рассмотренных способов работы с файловой системой в Visual Basic.NET есть еще один способ, который представляет собой применение объекта My.Computer.FileSystem. В этом объекте определено ряд свойств и методов, позволяющих манипулировать файлами и каталогами. Рассмотрим основные из них:
Свойство CurrentDirectory получает полное имя текущего каталога
Свойство Drives возвращает все диски компьютера:
For Each d In My.Computer.FileSystem.Drives
Console.WriteLine("Имя диска: {0} - Размер: {1} байт", d.Name, d.TotalSize)
Next
Свойство SpecialDirectories получает все специальные каталоге на компьютере типа Program Files, Temp и др.
Метод CopyDirectory копирует один каталог в другой:
My.Computer.FileSystem.CopyDirectory("C:\SomeDir1","C:\SomeDir2", True) - последний параметр задает перезапись совпадающих по имени файлов
Метод CopyFile копирует файл: My.Computer.FileSystem.CopyFile("C:\SomeFile.txt","D:\NewFile.txt")
Метод CreateDirectory создает новый каталог: My.Computer.FileSystem.CreateDirectory("C:\SomeFolder")
Метод DeleteDirectory удаляет каталог: My.Computer.FileSystem.DeleteDirectory
("C:\SomeFolder", FileIO.DeleteDirectoryOption.DeleteAllContents)
Метод DeleteFile удаляет файл
Метод DirectoryExists возвращает True, если указанный каталог существует
Метод FileExists возвращает True, если указанный файл существует
Метод FindInFiles возвращает все файлы указанного каталога, в которых был найден определенный текст:
My.Computer.FileSystem.FindInFiles("C:\SomeFolder", "текст для поиска", True, FileIO.SearchOption.SearchAllSubDirectories) -
здесь третий параметр указывает, что надо учитывать регистр при поиске. Если регистр учитывать не надо, указываем False. А последний
параметр позволяет задать поиск также и в подкаталогах.
Метод GetDirectories возвращает список каталогов указанного каталога
Метод GetFiles возвращает список файлов указанного каталога
Метод GetParentPath возвращает полное имя родительского каталога
Метод MoveFile перемещает файл из одного каталога в другой: My.Computer.FileSystem.MoveFile("C:\SomeFile.txt","D:\SomeFile.txt", Treue) -
третий параметр позволяет задать перезапись файла, если в другом каталоге уже есть такой файл
Метод MoveDirectory перемещает каталог в другой: My.Computer.FileSystem.MoveDirectory("C:\SomeSolder","D:\NewDir")
Метод RenameDirectory переименовывает каталог
Метод RenameFile переименовывает файл
Метод ReadAllBytes считывает все байты из файла в массив:
Dim bytes As Byte() = My.Computer.FileSystem.ReadAllBytes("C:\SomeFile.bin")
Метод ReadAllText считывает весь текст из файла:
Dim text As String = My.Computer.FileSystem.ReadAllText("C:\SomeFile.txt")
Метод WriteAllBytes записывает все байты в файл
Метод WriteAllText записывает весь текст в файл
Например, создадим файл и запишем в него текст:
Dim path As String = "C:\SomeDir\Hello.txt" Dim text As String = "Hello wolrd" My.Computer.FileSystem.WriteAllText(path, text, True) Dim readFromFile As String = My.Computer.FileSystem.ReadAllText(path) Console.WriteLine(readFromFile)