Datei-E/A (C# und Java im Vergleich)

Aktualisiert: November 2007

Auch wenn Klassen und Methodensignaturen im Detail voneinander abweichen können, so sind die Konzepte für Datei-E/A-Operationen in C# und Java doch recht ähnlich. Sowohl C# als auch Java bedienen sich des Konzepts einer Dateiklasse mit entsprechenden Methoden zum Lesen und Schreiben von Dateien. Für die Verarbeitung von XML-Inhalten sind ähnliche Dokumentobjektmodelle (DOM) vorhanden.

Beispiel für eine Dateioperation in Java

In Java können Sie mit dem File-Objekt grundlegende Datei-E/A-Operationen ausführen, z. B. das Erstellen, Öffnen, Schließen, Lesen und Schreiben von Dateien. Sie können beispielsweise die Methoden der File-Klasse verwenden, um Datei-E/A-Operationen auszuführen, wie etwa die createNewFile-Methode oder die delete-Methode der File-Klasse zum Erstellen bzw. Löschen von Dateien. Sie können die BufferedReader-Klasse und die BufferedWriter-Klasse zum Lesen bzw. Schreiben von Dateiinhalten verwenden.

Im folgenden Codebeispiel wird gezeigt, wie Sie eine neue Datei erstellen, eine Datei löschen, Text aus einer Datei auslesen und in eine Datei schreiben.

// Java example code to create a new file
    try 
    {
        File file = new File("path and file_name");
        boolean success = file.createNewFile();
    }
    catch (IOException e)    {   }

// Java example code to delete a file.
    try 
    {
        File file = new File("path and file_name");
        boolean success = file.delete();
    } 
    catch (IOException e)    {    }

// Java example code to read text from a file.
    try 
    {
        BufferedReader infile = new BufferedReader(new FileReader("path and file_name "));
        String str;
        while ((str = in.readLine()) != null) 
        {
            process(str);
        }
        infile.close();
    } 
    catch (IOException e) 
    {
        // Exceptions ignored.
    }

// Java example code to writing to a file.
    try 
    {
        BufferedWriter outfile = 
          new BufferedWriter(new FileWriter("path and file_name "));
        outfile.write("a string");
        outfile.close();
    }
    catch (IOException e)    {    }

Beispiel für eine Dateioperation in C#

Zum Ausführen von Datei-E/A-Operationen in C# verwenden Sie die entsprechenden Klassen und Methoden aus .NET Framework für die grundlegenden Schritte wie das Erstellen, Öffnen, Schließen, Lesen oder Schreiben von Dateien. Zum Beispiel können Sie mit den Methoden der File-Klasse aus .NET Framework Datei-E/A-Operationen ausführen. Mithilfe der Exists-Methode können Sie beispielsweise überprüfen, ob eine Datei vorhanden ist. Mit der Create-Methode können Sie eine Datei erstellen, wobei Sie wie im folgenden Beispiel optional eine bestehende Datei überschreiben können, und mit der FileStream-Klasse und dem BufferedStream-Objekt können Sie Lese- und Schreibvorgänge ausführen.

Im folgenden Codebeispiel wird gezeigt, wie Sie eine Datei löschen, erstellen, schreiben und lesen können.

// sample C# code for basic file I/O operations
// exceptions ignored for code simplicity

class TestFileIO
{
    static void Main() 
    {
        string fileName = "test.txt";  // a sample file name

        // Delete the file if it exists.
        if (System.IO.File.Exists(fileName))
        {
            System.IO.File.Delete(fileName);
        }

        // Create the file.
        using (System.IO.FileStream fs = System.IO.File.Create(fileName, 1024)) 
        {
            // Add some information to the file.
            byte[] info = new System.Text.UTF8Encoding(true).GetBytes("This is some text in the file.");
            fs.Write(info, 0, info.Length);
        }

        // Open the file and read it back.
        using (System.IO.StreamReader sr = System.IO.File.OpenText(fileName)) 
        {
            string s = "";
            while ((s = sr.ReadLine()) != null) 
            {
                System.Console.WriteLine(s);
            }
        }
    }
}

Verwandte Abschnitte

Weitere nützliche .NET Framework-Klassen zum Erstellen, Lesen, und Schreiben in Streams sind die StreamReader-Klasse und die StreamWriter-Klasse. Weitere nützliche .NET Framework-Klassen zum Behandeln und Verarbeiten von Dateien sind:

Siehe auch

Konzepte

C#-Programmierhandbuch

Asynchrone Datei-E/A

Weitere Ressourcen

C# für Java-Entwickler