Wie Sie die allgemeine Datei-e/A-Vorgänge in Visual c# 2005 Express Edition ausführen

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 910356 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Eine Microsoft Visual Basic .NET Version dieses Artikels finden Sie unter 304427.
Eine Microsoft Visual C++ .NET Version dieses Artikels finden Sie unter 307398.
Eine Microsoft Visual c# .NET Version dieses Artikels finden Sie unter 304430.
Dieser Artikel behandelt .NET Framework-Klassenbibliothek System.IO -Namespace.
Alles erweitern | Alles schließen

Auf dieser Seite

EINFÜHRUNG

Dieser in einzelne Schritte gegliederte Artikel beschreibt die grundlegenden Dateieingabe Operationen in Microsoft Visual c# 2005 Express Edition ausführen. Wenn Sie mit Microsoft .NET Framework vertraut sind, werden Sie feststellen, dass das Objektmodell für die Datei-Operationen in Microsoft .NET das FileSystemObject -Objektmodell ähnlich ist, die mit vielen Microsoft Visual Studio 6.0-Entwicklern beliebt ist. Um den Übergang zu erleichtern, basiert die Funktionalität der in diesem Artikel beschriebene auf der folgenden Microsoft Knowledge Base:
186118Verwendung von FileSystemObject mit Visual Basic
Sie können das FileSystemObject -Objekt in .NET weiterhin verwenden. Da das FileSystemObject -Objekt eine COM-Komponente ist, benötigt .NET, dass Sie über die Interop-Schicht das FileSystemObject -Objekt zugreifen. Wenn Sie einen Wrapper verwenden möchten, generiert .NET einen Wrapper für die Komponente für Sie. Die folgenden Klassen in .NET Framework bieten jedoch eine Funktionalität, die bei Verwendung von FileSystemObject -Objekts, ohne den Verwaltungsaufwand der Interop-Schicht nicht verfügbar ist:
  • Die File -Klasse
  • FileInfo -Klasse
  • Die Directory -Klasse
  • Das DirectoryInfo -Klasse
  • Andere verwandten Klassen

Voraussetzungen

Die folgende Liste führt die empfohlene Hardware, Software, Netzwerkinfrastruktur und Servicepacks, die Sie benötigen:
  • Microsoft Visual c# 2005 Express Edition oder Microsoft Visual Studio 2005

Demonstrierte Datei-E/A-Operationen

Die Codebeispiele in diesem Artikel beschrieben, wie die grundlegenden Dateieingabe Operationen durchführen. Im Abschnitt "Schrittweise Beispiel" beschreibt ein Beispielprogramm zu erstellen, die die folgenden Datei-e/A-Vorgänge veranschaulicht:
  • Lesen einer Textdatei.
  • Schreiben einer Textdatei.
  • Anzeigen von Dateiinformationen.
  • Auflisten der Laufwerke.
  • Unterordner auflisten.
  • Auflisten der Dateien.
Hinweis: Wenn Sie die folgenden Codebeispiele direkt verwenden möchten, Beachten Sie Folgendes:
  • Sie müssen wie folgt den System.IO -Namespace einschließen.
    using System.IO;
  • Sie müssen die WinDir Variable wie folgt deklarieren.
    string    winDir=System.Environment.GetEnvironmentVariable("windir");
  • Sie müssen die AddListItem -Funktion wie folgt deklarieren.
    private void addListItem(string value)
    {
    	this.listbox1.Items.Add(value);
    }
    Hinweis: Anstatt deklarieren und Verwenden der Funktion AddListItem , können Sie direkt die folgende Anweisung verwenden.
    this.listbox1.Items.Add(value);

Lesen einer Textdatei

Im folgenden Codebeispiel StreamReader -Klasse zum Lesen der Datei System.ini. Der Inhalt der Datei werden einem Listenfeld -Steuerelement hinzugefügt. Der-Block try... Catch wird verwendet, um die Anwendung zu benachrichtigen, wenn die Datei leer ist. Es gibt viele Möglichkeiten, um festzustellen, wann das Ende der Datei erreicht ist. Diesem Codebeispiel wird die Peek -Methode verwendet, um die nächste Zeile zu untersuchen, vor dem Lesen installieren.\r\n
StreamReader reader = new StreamReader(winDir + "\\system.ini");
            try
            {
                do
                {
                    addListItem(reader.ReadLine());
                }
                while (reader.Peek() != -1);
            }

            catch
            {
                addListItem("File is empty.");
            }

            finally
            {
                reader.Close();
            }

Schreiben einer Textdatei

Das folgenden Codebeispiel wird eine StreamWriter -Klasse verwendet, um eine Datei zu erstellen und in eine Datei zu schreiben. Wenn Sie eine vorhandene Datei verfügen, können Sie die vorhandene Datei öffnen, in der gleichen Weise
StreamWriter writer = new StreamWriter("c:\\KBTest.txt");
            writer.WriteLine("File created by using StreamWriter class.");
            writer.Close();
            this.listBox1.Items.Clear();
            addListItem("File written to C:\\KBTest.txt");

Anzeigen von Dateiinformationen

Im folgenden Codebeispiel ein FileInfo -Objekt Zugriff auf Eigenschaften einer Datei. Die Datei Notepad.exe wird in diesem Codebeispiel verwendet. Die Eigenschaften werden im ListBox -Steuerelement.
FileInfo FileProps = new FileInfo(winDir + "\\notepad.exe");
            addListItem("File Name = " + FileProps.FullName);
            addListItem("Creation Time = " + FileProps.CreationTime);
            addListItem("Last Access Time = " + FileProps.LastAccessTime);
            addListItem("Last Write Time = " + FileProps.LastWriteTime);
            addListItem("Size = " + FileProps.Length);
            FileProps = null;

Auflisten der Laufwerke

Im folgenden Codebeispiel wird mithilfe der Directory -Klasse und die Laufwerk -Klasse um eine Liste der logischen Laufwerke auf einem System abzurufen. Für dieses Codebeispiel werden die Ergebnisse in ein Listenfeld -Steuerelement. angezeigt
string[] drives = Directory.GetLogicalDrives();
    foreach(string drive in drives)
    {
        addListItem(drive);
    }

Unterordner auflisten

Im folgenden Codebeispiel wird die GetDirectories -Methode der Directory -Klasse verwendet, Abrufen eine Liste von Ordnern.
string[] dirs = Directory.GetDirectories(winDir);
    foreach(string dir in dirs)
        {
            addListItem(dir);
        }

Auflisten der Dateien

Das folgenden Codebeispiel wird die GetFiles -Methode der Directory -Klasse verwendet, um eine Liste der Dateien abzurufen
string[] files = Directory.GetFiles(winDir);
            foreach (string fileName in files)
            {
                addListItem(fileName);
            }
können verschiedene Probleme auftreten, wenn Benutzer auf Dateien zugreifen. Die Dateien möglicherweise nicht vorhanden, oder die Dateien möglicherweise gerade verwendet werden. Darüber hinaus können Benutzer keinen Berechtigungen auf die Dateien oder Ordner, die Sie zugreifen möchten. Sie müssen diese Möglichkeiten berücksichtigen, wenn Sie Code schreiben und Bestimmungen, die Ausnahmen zu behandeln, die möglicherweise generiert werden.

Vorgehensweise: Beispiel

Um ein Beispielprogramm erstellen, die allgemeine Datei-e/A-Vorgänge demonstriert, gehen Sie folgendermaßen vor:
  1. Erstellen Sie in Visual c# 2005 Express Edition oder in Visual Studio 2005 eine neue Visual C#-Windows-Anwendung mit dem Namen WindowsApplication1. Standardmäßig wird ein Formular, die mit dem Namen Form1 erstellt.
  2. Klicken Sie in Projektmappen-Explorer mit der rechten Maustaste auf Form1.cs und klicken Sie dann auf Code anzeigen .
  3. Löschen Sie alle den Code im Code-Editor.
  4. Fügen Sie folgenden Code in den Code-Editor.
    using System;
    using System.IO;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    
    namespace WindowsApplication1
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            private void Form1_Load(object sender, EventArgs e)
            {
                this.button1.Text = "Read Text File";
                this.button2.Text = "Write Text File";
                this.button3.Text = "View File Information";
                this.button4.Text = "List Drives";
                this.button5.Text = "List Subfolders";
                this.button6.Text = "List Files";
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                // How to read a text file.
                // try...catch is to deal with a file that has a length of 0 bytes.
                this.listBox1.Items.Clear();
                StreamReader reader = new StreamReader(winDir + "\\system.ini");
                try
                {
                    do
                    {
                        addListItem(reader.ReadLine());
                    }
                    while (reader.Peek() != -1);
                }
    
                catch
                {
                    addListItem("File is empty.");
                }
    
                finally
                {
                    reader.Close();
                }
            }
    
            private void button2_Click(object sender, EventArgs e)
            {
                // How to create and write to a text file.
                StreamWriter writer = new StreamWriter("c:\\KBTest.txt");
                writer.WriteLine("File created by using StreamWriter class.");
                writer.Close();
                this.listBox1.Items.Clear();
                addListItem("File written to C:\\KBTest.txt");
            }
    
            private void button3_Click(object sender, EventArgs e)
            {
                // How to retrieve file properties (example uses Notepad.exe).
                this.listBox1.Items.Clear();
                FileInfo FileProps = new FileInfo(winDir + "\\notepad.exe");
                addListItem("File Name = " + FileProps.FullName);
                addListItem("Creation Time = " + FileProps.CreationTime);
                addListItem("Last Access Time = " + FileProps.LastAccessTime);
                addListItem("Last Write Time = " + FileProps.LastWriteTime);
                addListItem("Size = " + FileProps.Length);
                FileProps = null;
            }
    
            private void button4_Click(object sender, EventArgs e)
            {
                // How to obtain a list of disk drives.
                this.listBox1.Items.Clear();
                string[] drives = Directory.GetLogicalDrives();
                foreach (string drive in drives)
                {
                    addListItem(drive);
                }
            }
    
            private void button5_Click(object sender, EventArgs e)
            {
                // How to obtain a list of folders.
                // Example uses Windows folder.
                this.listBox1.Items.Clear();
                string[] dirs = Directory.GetDirectories(winDir);
                foreach (string dir in dirs)
                {
                    addListItem(dir);
                }
            }
    
            private void button6_Click(object sender, EventArgs e)
            {
                // How to obtain a list of files.
                // Example uses Windows folder.
                this.listBox1.Items.Clear();
                string[] files = Directory.GetFiles(winDir);
                foreach (string fileName in files)
                {
                    addListItem(fileName);
                }
            }
        }
    }
  5. Klicken Sie in Projektmappen-Explorer mit der rechten Maustaste auf Form1.Designer.cs und klicken Sie dann auf Code anzeigen .
  6. Löschen Sie alle den Code im Code-Editor.
  7. Fügen Sie folgenden Code in den Code-Editor.
    namespace WindowsApplication1
    {
        partial class Form1
        {
            /// <summary>
            /// Required designer variable.
            /// </summary>
            private System.ComponentModel.IContainer components = null;
    
            private string winDir = System.Environment.GetEnvironmentVariable("windir");
    
            /// <summary>
            /// Clean up any resources that are being used.
            /// </summary>
            /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
            protected override void Dispose(bool disposing)
            {
                if (disposing && (components != null))
                {
                    components.Dispose();
                }
                base.Dispose(disposing);
            }
    
            private void addListItem(string value)
            {
                this.listBox1.Items.Add(value);
            }
    
            #region Windows Form Designer generated code
    
            /// <summary>
            /// Required method for designer support - do not modify
            /// the contents of this method with the code editor.
            /// </summary>
            private void InitializeComponent()
            {
                this.listBox1 = new System.Windows.Forms.ListBox();
                this.button1 = new System.Windows.Forms.Button();
                this.button2 = new System.Windows.Forms.Button();
                this.button3 = new System.Windows.Forms.Button();
                this.button4 = new System.Windows.Forms.Button();
                this.button5 = new System.Windows.Forms.Button();
                this.button6 = new System.Windows.Forms.Button();
                this.SuspendLayout();
                // 
                // listBox1
                // 
                this.listBox1.FormattingEnabled = true;
                this.listBox1.Location = new System.Drawing.Point(23, 24);
                this.listBox1.Name = "listBox1";
                this.listBox1.Size = new System.Drawing.Size(525, 251);
                this.listBox1.TabIndex = 0;
                // 
                // button1
                // 
                this.button1.Location = new System.Drawing.Point(23, 290);
                this.button1.Name = "button1";
                this.button1.Size = new System.Drawing.Size(171, 23);
                this.button1.TabIndex = 1;
                this.button1.Text = "button1";
                this.button1.UseVisualStyleBackColor = true;
                this.button1.Click += new System.EventHandler(this.button1_Click);
                // 
                // button2
                // 
                this.button2.Location = new System.Drawing.Point(23, 319);
                this.button2.Name = "button2";
                this.button2.Size = new System.Drawing.Size(171, 23);
                this.button2.TabIndex = 2;
                this.button2.Text = "button2";
                this.button2.UseVisualStyleBackColor = true;
                this.button2.Click += new System.EventHandler(this.button2_Click);
                // 
                // button3
                // 
                this.button3.Location = new System.Drawing.Point(200, 290);
                this.button3.Name = "button3";
                this.button3.Size = new System.Drawing.Size(171, 23);
                this.button3.TabIndex = 3;
                this.button3.Text = "button3";
                this.button3.UseVisualStyleBackColor = true;
                this.button3.Click += new System.EventHandler(this.button3_Click);
                // 
                // button4
                // 
                this.button4.Location = new System.Drawing.Point(200, 319);
                this.button4.Name = "button4";
                this.button4.Size = new System.Drawing.Size(171, 23);
                this.button4.TabIndex = 4;
                this.button4.Text = "button4";
                this.button4.UseVisualStyleBackColor = true;
                this.button4.Click += new System.EventHandler(this.button4_Click);
                // 
                // button5
                // 
                this.button5.Location = new System.Drawing.Point(377, 290);
                this.button5.Name = "button5";
                this.button5.Size = new System.Drawing.Size(171, 23);
                this.button5.TabIndex = 5;
                this.button5.Text = "button5";
                this.button5.UseVisualStyleBackColor = true;
                this.button5.Click += new System.EventHandler(this.button5_Click);
                // 
                // button6
                // 
                this.button6.Location = new System.Drawing.Point(377, 319);
                this.button6.Name = "button6";
                this.button6.Size = new System.Drawing.Size(171, 23);
                this.button6.TabIndex = 6;
                this.button6.Text = "button6";
                this.button6.UseVisualStyleBackColor = true;
                this.button6.Click += new System.EventHandler(this.button6_Click);
                // 
                // Form1
                // 
                this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
                this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
                this.ClientSize = new System.Drawing.Size(580, 400);
                this.Controls.Add(this.button6);
                this.Controls.Add(this.button5);
                this.Controls.Add(this.button4);
                this.Controls.Add(this.button3);
                this.Controls.Add(this.button2);
                this.Controls.Add(this.button1);
                this.Controls.Add(this.listBox1);
                this.Name = "Form1";
                this.Text = "Form1";
                this.Load += new System.EventHandler(this.Form1_Load);
                this.ResumeLayout(false);
    
            }
    
            #endregion
    
            private System.Windows.Forms.ListBox listBox1;
            private System.Windows.Forms.Button button1;
            private System.Windows.Forms.Button button2;
            private System.Windows.Forms.Button button3;
            private System.Windows.Forms.Button button4;
            private System.Windows.Forms.Button button5;
            private System.Windows.Forms.Button button6;
        }
    }
  8. Drücken Sie die Taste [F5], um die Anwendung erstellen und ausführen zu lassen.
  9. Klicken Sie auf die Schaltflächen, um die verschiedenen Aktionen anzuzeigen.
Hinweis: Standardmäßig fügt Visual c# 2005 Express Edition oder Visual Studio 2005 ein Formular dem Projekt hinzu Wenn Sie ein Windows Forms-Projekt erstellen. Das Formular wird Form1 bezeichnet. Die beiden Dateien, die das Formular darstellen heißen die Datei Form1.cs und Form1.Designer.cs-Datei. Sie schreiben den Code in die Datei Form1.cs. Windows Forms-Designer schreibt den Code in der Datei Form1.Designer.cs.

Weitere Informationen zu Windows Forms-Designer in Visual c# 2005 Express Edition oder Visual Studio 2005 den folgenden Microsoft Developer Network (MSDN)-Website:
http://msdn2.microsoft.com/en-us/library/ms173077.aspx

Eigenschaften

Artikel-ID: 910356 - Geändert am: Montag, 11. Dezember 2006 - Version: 1.3
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Visual Studio 2005 Standard Edition
  • Microsoft Visual Studio 2005 Professional Edition
  • Microsoft Visual Studio 2005 Express Edition
  • Microsoft Visual C# 2005 Express Edition
  • Microsoft Visual Studio 2005 Team System Architect Edition
  • Microsoft Visual Studio 2005 Team System Developer Edition
  • Microsoft Visual Studio 2005 Team System Team Foundation:
  • Microsoft Visual Studio 2005 Team System Test Edition
Keywords: 
kbmt kbvs2005std kbvs2005mos kbvs2005exp kbvs2005pro kbvs2005search kbio kbhowtomaster kbsample kbstepbystep kbcodesnippet kbcode kbhowto KB910356 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 910356
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com