0Pricing
C# Academy · Lezione

System.IO (percorsi, stream)

Usate gli helper di Path, verificate l’esistenza e leggete o scrivete testo con StreamReader/StreamWriter usando l’istruzione using.

System.IO (percorsi, stream) è una lezione C# Academy gratuita su CoddyKit. Questa è la lezione 1 di 3. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento C# Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso C# Academy include 3 lezioni in totale.

Introduzione a System.IO

Obiettivo: leggere e scrivere file in modo sicuro.

  • Creare i percorsi con Path
  • Verificare l'esistenza con File/Directory
  • Usare StreamReader/StreamWriter in un blocco using

Fondamenti di Path

Usare Path.Combine e i metodi correlati per evitare di gestire manualmente i separatori e per esaminare le parti di un percorso.

using System;
using System.IO;

public class Program
{
  public static void Main(string[] args)
  {
    // Build a safe path (handles separators)
    string folder = "data";
    string file = "notes.txt";
    string path = Path.Combine(folder, file);

    Console.WriteLine("File name: " + Path.GetFileName(path));
    Console.WriteLine("Directory: " + Path.GetDirectoryName(path));
    Console.WriteLine("Full path: " + Path.GetFullPath(path));
  }
}

Creazione e scrittura

Usare Directory.CreateDirectory (sicuro anche se la directory esiste già) e File.WriteAllText per i file di piccole dimensioni.

using System;
using System.IO;

public class Program
{
  public static void Main(string[] args)
  {
    string folder = "data";
    if (!Directory.Exists(folder))
    {
      Directory.CreateDirectory(folder); // create if missing
    }

    string path = Path.Combine(folder, "hello.txt");
    // Simple one-shot write
    File.WriteAllText(path, "Hello file!");
    Console.WriteLine("Wrote: " + path);
  }
}

Lettura sicura

Racchiudere i lettori in un blocco using. L'handle del file viene rilasciato anche se si verifica un'eccezione.

using System;
using System.IO;

public class Program
{
  public static void Main(string[] args)
  {
    string path = Path.Combine("data", "hello.txt");

    if (File.Exists(path))
    {
      using (StreamReader r = new StreamReader(path))
      {
        string content = r.ReadToEnd(); // read all
        Console.WriteLine("Content: " + content);
      } // Dispose closes the file
    }
    else
    {
      Console.WriteLine("Missing file: " + path);
    }
  }
}

Scrittura sicura

StreamWriter scrive testo. Passare append=true per aggiungere righe senza sovrascrivere il contenuto.

using System;
using System.IO;

public class Program
{
  public static void Main(string[] args)
  {
    string path = Path.Combine("data", "log.txt");

    // Append = true so we keep old content
    using (StreamWriter w = new StreamWriter(path, true))
    {
      w.WriteLine(DateTime.UtcNow.ToString("u") + " - started");
      w.WriteLine("Work done");
    } // closed here

    Console.WriteLine("Appended to log: " + path);
  }
}

Verifiche e suggerimenti

Suggerimenti:

  • Verificare File.Exists/Directory.Exists prima dell'uso.
  • Gestire IOException per gli errori di I/O e mostrare un messaggio comprensibile.
  • Preferire using per tutti gli stream.

Regola per la sicurezza degli stream

Verifica rapida: qual è il modo più sicuro per assicurarsi che uno stream venga chiuso dopo una lettura o una scrittura in C# 6?

Riepilogo

Riepilogo: creare i percorsi con Path, verificarne l'esistenza e racchiudere sempre lettori e writer in un blocco using per una pulizia sicura.

Domande Frequenti

La lezione «System.IO (percorsi, stream)» è gratuita?

Sì — il testo completo di «System.IO (percorsi, stream)» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso C# Academy, passa a CoddyKit PRO. Il corso C# Academy include 3 lezioni in totale.

Cosa imparerò in «System.IO (percorsi, stream)»?

Usate gli helper di Path, verificate l’esistenza e leggete o scrivete testo con StreamReader/StreamWriter usando l’istruzione using. Eserciti C# Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare C# Academy?

Non è richiesta alcuna esperienza precedente. C# Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 3.

Quanto tempo richiede la lezione «System.IO (percorsi, stream)»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione C# Academy?

Sì. Ogni lezione C# Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. System.IO (percorsi, stream)
  2. JSON con System.Text.Json (opt-in, converter)
  3. Pattern semplici per l’analisi CSV
← Torna a C# Academy