Condividi tramite


I/O di file (confronto tra C# e Java)

Aggiornamento: novembre 2007

Anche se i dettagli delle classi e le firme dei metodi possono variare, in C# e Java vengono utilizzati criteri analoghi per l'esecuzione di un'operazione di I/O di file. In entrambi i linguaggi è infatti presente il concetto di classe di file e di metodi associati per la lettura e la scrittura su file. Sono inoltre disponibili modelli DOM (Document Object Model) simili per la gestione del contenuto XML.

Esempio di operazioni su file Java

In Java è possibile utilizzare l'oggetto File per eseguire operazioni di I/O di file di base, quali la creazione, l'apertura, la chiusura, la lettura e la scrittura di un file. È possibile ad esempio utilizzare i metodi della classe File per eseguire operazioni di I/O di file, magari il metodo createNewFile o delete della classe File per creare o eliminare un file. È possibile utilizzare le classi BufferedReader e BufferedWriter per leggere e scrivere il contenuto dei file.

Nell'esempio di codice riportato di seguito viene illustrato come creare un nuovo file, eliminare un file, leggere il testo di un file e scrivere dati in un file.

// 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)    {    }

Esempio di operazioni su file C#

In C#, per eseguire un'operazione di I/O di file, è possibile servirsi delle stesse nozioni ormai acquisite relative alla creazione, l'apertura, la chiusura, la lettura e la scrittura con classi e metodi equivalenti di .NET Framework. È possibile ad esempio utilizzare i metodi della classe File di .NET Framework per eseguire operazioni di I/O di file oppure utilizzare il metodo Exists per verificare l'esistenza di un file. È possibile utilizzare il metodo Create per creare un file, sovrascrivendone eventualmente uno esistente come illustrato nell'esempio di codice riportato di seguito, nonché effettuare operazioni di lettura e scrittura utilizzando la classe FileStream e l'oggetto BufferedStream.

Nell'esempio di codice riportato di seguito viene illustrato come eliminare un file, creare un file, scrivere dati in un file e leggere dati da un file.

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

Sezioni correlate

Tra le classi di .NET Framework utili per creare, leggere e scrivere nei flussi sono incluse le classi StreamReader e StreamWriter. Le seguenti sono atre classi di .NET Framework utili per gestire ed elaborare i file:

Vedere anche

Concetti

Guida per programmatori C#

I/O di file asincrono

Altre risorse

C# per sviluppatori Java