مشاركة عبر


كيفية القيام بما يلي: إنشاء سرد الدليل

يظهر مثال التعليمات البرمجية التالي كيفية استخدام فئات الI/O لإنشاء قائمه بكافه الملفات التي تحتوي علي امتداد ".exe" فى دليل.

مثال

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());
}

برمجة نشطة

في هذا المثال, يكون ال 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:\ root directory الخاص بك, ابعت الوسيطه "C:\" الى المولد القابل للتنفيذ عن طريق ترجمه هذه التعليمات البرمجية, علي سبيل المثال: "testApplication.exe C:\".

ملاحظةملاحظة

قد يختار المستخدمون Visual أساسى إلى استخدام الوظائف والخصائص التي يوفرها FileSystemفئة لملف الادخال/الاخراج.

راجع أيضًا:

المهام

كيفية القيام بما يلي: القراءة والكتابة إلى ملف مُنشأ حديثاً

كيفية القيام بما يلي: افتح ثم إلحاق ملف سجل

كيفية القيام بما يلي: قراءة نص من ملف.

كيفية القيام بما يلي: كتابة نص في ملف

كيفية القيام بما يلي: قراءة الأحرف من سلسلة

كيفية القيام بما يلي: كتابة الأحرف في سلسلة

المرجع

DirectoryInfo

CreationTime

FullName

FileInfo.Length

DirectoryInfo.GetFiles

المبادئ

ملفات I/O الأساسية