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
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
- System.IO (percorsi, stream)
- JSON con System.Text.Json (opt-in, converter)
- Pattern semplici per l’analisi CSV