Кроме ранее рассмотренных способов работы с файловой системой в 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)