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:
Il problema è che quando compilo genera un errore di questo tipo: "The name 'sw' does not exist in the current context"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); } } }
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![]()

Rispondi quotando