Comment : créer une liste des répertoires
L'exemple de code suivant montre comment utiliser les classes d'E/S pour créer une liste de tous les fichiers avec une extension « .exe » dans un répertoire.
Exemple
Imports System
Imports System.IO
Public Class DirectoryLister
Public Shared Sub Main(args() As String)
Dim path As String = Environment.CurrentDirectory
If args.Length > 0 Then
If Directory.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)
For Each f As FileInfo 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;
public 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);
}
}
}
using namespace System;
using namespace System::IO;
public ref class DirectoryLister
{
public:
static void Main(array<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 = gcnew DirectoryInfo(path);
for each (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);
}
}
};
int main()
{
DirectoryLister::Main(Environment::GetCommandLineArgs());
}
Programmation fiable
Dans cet exemple, DirectoryInfo correspond au répertoire actif, indiqué par (".") et le code répertorie tous les fichiers du répertoire actif ayant une extension .exe, ainsi que leurs taille, date de création et nom. En supposant qu'il s'agisse de fichiers .exe situés dans le sous-répertoire \Bin du répertoire C:\MyDir, la sortie de ce code peut ressembler à ceci :
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
Si vous souhaitez obtenir une liste de fichiers d'un autre répertoire, tel que votre répertoire racine C:\, passez l'argument "C:\" dans le fichier exécutable généré par la compilation de ce code, par exemple "testApplication.exe C:\".
Remarque |
---|
Les utilisateurs de Visual Basic peuvent choisir d'utiliser les méthodes et les propriétés fournies par la classe FileSystem pour les E/S de fichiers. |
Voir aussi
Tâches
Comment : lire et écrire dans un fichier de données créé récemment
Comment : ouvrir un fichier journal et y ajouter des éléments
Comment : lire du texte dans un fichier
Comment : écrire du texte dans un fichier
Comment : lire les caractères d'une chaîne
Comment : écrire des caractères dans une chaîne