Практическое руководство. Создание списка каталогов
Обновлен: Ноябрь 2007
В следующем примере кода показано использование классов ввода/вывода для создания списка всех файлов с расширением ".exe" в каталоге.
Пример
Option Explicit On
Option Strict On
Imports System
Imports System.IO
Class DirectoryLister
Public Shared Sub Main(ByVal args As String())
Dim path As String = Environment.CurrentDirectory
If (args.Length > 0) Then
If File.Exists(args(0)) Then
path = args(0)
Else
Console.WriteLine("{0} not found; using current directory:", _
args(0))
End If
End If
Dim dir As New DirectoryInfo(path)
Dim f As FileInfo
For Each f In dir.GetFiles("*.exe")
Dim name As [String] = f. Name
Dim size As Long = f.Length
Dim creationTime As DateTime = f.CreationTime
Console.WriteLine("{0,-12:N0} {1,-20:g} {2}", size, creationTime, name)
Next f
End Sub
End Class
using System;
using System.IO;
class DirectoryLister
{
public static void Main(String[] args)
{
string path = Environment.CurrentDirectory;
if (args.Length > 0)
{
if (Directory.Exists(args[0]))
{
path = args[0];
}
else
{
Console.WriteLine("{0} not found; using current directory:",
args[0]);
}
}
DirectoryInfo dir = new DirectoryInfo(path);
foreach (FileInfo f in dir.GetFiles("*.exe"))
{
String name = f. Name;
long size = f.Length;
DateTime creationTime = f.CreationTime;
Console.WriteLine("{0,-12:N0} {1,-20:g} {2}", size,
creationTime, name);
}
}
Отказоустойчивость
В этом примере DirectoryInfo является текущим каталогом, обозначенным ("."), а код создает список всех файлов с расширением .exe в текущем каталоге, вместе с их размерами, временем создания и именами. Если предположить, что существуют файлы .exe в поддиректории \Bin каталога C:\MyDir, результат выхода этого кода может выглядеть следующим образом:
953 7/20/2000 10:42 AM C:\MyDir\Bin\paramatt.exe
664 7/27/2000 3:11 PM C:\MyDir\Bin\tst.exe
403 8/8/2000 10:25 AM C:\MyDir\Bin\dirlist.exe
Если требуется список файлов другого каталога, такого как корневого каталога C:\, то передайте аргумент "C:\" в исполняемый файл путем компиляции этого кода, например: "testApplication.exe C:\".
![]() |
---|
Пользователи Visual Basic могут также использовать методы и свойства, предоставляемые объектом My.Computer.FileSystem для файлового ввода-вывода. Дополнительные сведения см. в разделе Объект My.Computer.FileSystem. |
См. также
Задачи
Практическое руководство. Считывание из нового файла данных и запись в этот файл
Практическое руководство. Открытие файла журнала и добавление в него данных
Практическое руководство. Считывание текста из файла
Практическое руководство. Запись текста в файл
Практическое руководство. Считывание символов из строки
Практическое руководство. Запись символов в строку