Ciao a tutti.
Ho creato un programma molto banale che stampa a video tutte le cartelle e le sottocartelle presenti in un percorso indicato.
Quello che vorrei fare è però salvare in un file di testo tutti i percorsi delle cartelle e sottocartelle trovate
Ecco il codice del nuovo programmino:
codice:
using System;
using System.IO;
class ricercafile
{
public static void Main(string[] args)
{
//ricavo il percorso in cui cominciare la ricerca delle directory
Console.WriteLine("Inserisci il percorso di ricerca:");
string input = Console.ReadLine();
//ricavo il nome ed il percorso del file di testo
Console.WriteLine("Inserisci il percorso per l'output:");
string destination = Console.ReadLine();
//creo l'oggetto sw della classe StreamWriter
StreamWriter sw = new StreamWriter(destination);
//richiamo la funzione che permette la ricerca
DirSearch(input);
//chiudo il file di testo
sw.Close();
//queste è la fine del programma
Console.WriteLine("Il programma ha finito, premi invio per uscire");
Console.ReadLine();
}
static public void DirSearch(string percorso)
{
foreach (string i in Directory.GetDirectories(percorso))
{
//scrivo il percorso delle directory all'interno del file di testo
sw.WriteLine(i);
//richiamo la funzione in cui mi trovo ora
DirSearch(i);
}
}
}
Il problema è che quando compilo genera un errore di questo tipo: "The name 'sw' does not exist in the current context"
L'errore è nella linea 29, cioè è relativo all'istruzione sw.WriteLine(i) presente nella funzione DirSearch.
Io credo che l'errore è da imputare al fatto che non posso usare, all'interno di una funzione (o metodo), dei metodi di un oggetto che ho istanziato nel main.
Ho fatto delle ricerche in internet ma non ho trovato molto.
Potete darmi un aiuto?
Non voglio la pappa pronta, è solo che il libro di c# che ho ordinato deve ancora arrivare