Problema con apertura file di testo

mercoledì 18 marzo 2009 - 17.31

Lordrix Profilo | Newbie

Ciao a tutti!

Premetto che sono nuovo del C# ^^'

Un mio programma prevede l'apertura e la successiva lettura riga per riga di un file di testo, ma l'istruzione:

StreamReader sr = new StreamReader("C:\\text.txt");

mi da errore, anche copiando pari pari l'intero codice delle varie guide che ho trovato ( includendo le librerie System, System.IO e System.Collections )!

Potete aiutarmi? Grazie in anticipo

EDIT: Pardon, l'errore è " file non trovato ", anche se chiaramente il file test.txt c'è xD

MarKonE Profilo | Guru

>Ciao a tutti!
>
>Premetto che sono nuovo del C# ^^'
>
>Un mio programma prevede l'apertura e la successiva lettura riga
>per riga di un file di testo, ma l'istruzione:
>
>StreamReader sr = new StreamReader("C:\\text.txt");
>
>mi da errore, anche copiando pari pari l'intero codice delle
>varie guide che ho trovato ( includendo le librerie System, System.IO
>e System.Collections )!
>
>Potete aiutarmi? Grazie in anticipo

Ciao, domanda banale... che errore ottieni ?

Hai provato inserendo solamente una barra ?

StreamReader sr = new StreamReader("C:\text.txt");

Ciao!

My Blog... http://blogs.dotnethell.it/Mark/

Lordrix Profilo | Newbie

No, da errore, in quanto con una \ sola, si aspetta un operatore per le stringhe tipo "\n" per andare a capo.. PENSO.

Ps. scusa per non aver allegato subito l'errore.. mi sono accorto dopo aver postato !

Jeremy Profilo | Guru

Ciao
Sono quasi convinto che, anche se tu dici di essere sicuro che esiste, il file in realtà non esiste.
Controlla bene la sintassi del percorso e del nome del file.
Prova, eventualmente, a rispettare anche il *case* delle lettere.

Facci sapere....
Ciao

Lordrix Profilo | Newbie

Confermo che il percorso è giusto..

http://i39.tinypic.com/16lhchw.jpg Controllare anche voi xD

In mancanza di soluzione, avete qualche altra idea per fare l'operazione in un altro modo?

Jeremy Profilo | Guru

Ciao.
Ho provato a creare anche io un file nominato text.txt in C:\ e ad instanziare uno stremreader con il seguente path ("C:\\text.txt") e ti confermo che tutto funziona regolarmente.
Come sei loggato sul tuo pc??? come utente o come amministratore????
A questo punto credo che possa essere solo un problema di permessi di accesso alla cartella C:\.


Facci sapere.....
Ciao

Jeremy Profilo | Guru

>In mancanza di soluzione, avete qualche altra idea per fare l'operazione
>in un altro modo?

Prova a spostare il file in un altro percorso....(giusto per capire quale potrebbe essere il problema....poi vediamo come risolverlo)

Facci sapere...
Ciao

Lordrix Profilo | Newbie

Mmh.. il problema si presenta anche spostando il file in D:\ !

Penso anche di essere amministratore.. O meglio, sulla gestione account di XP risulta così!

Gianni77 Profilo | Junior Member

Non è che forse il file è utilizzato da un altro processo? Tipo che so... lo tieni aperto col blocco note mentre contemporaneamente cerchi di aprirlo dal tuo programma

Lordrix Profilo | Newbie

Niente da fare.. non è quello il problema :(

WilOhmsford Profilo | Newbie

Ciao,

in C# le stringhe contenenti slash, backslash, ecc (come i percorsi) vanno formattate col carattere speciale "@".
Anzichè
StreamReader objReader = new StreamReader("C:\\text.txt");
scrivi
StreamReader objReader = new StreamReader(@"C:\text.txt");
.

Facci sapere!

WilOhmsford Profilo | Newbie

Dunque? Novità?

aiedail92 Profilo | Expert

WilOhmsford, volevo chiarire la faccenda delle stringhe in C#:

Le due stringhe "C:\\text.txt" e @"C:\text.txt" sono esattamente identiche. L'aggiunta del carattere @ davanti ad una stringa serve ad evitare al programmatore di dover tenere da conto che il carattere '\' ha funzione di escape, in pratica lo rende un carattere come tutti gli altri. Pertanto le due stringhe sono diverse come "forma" ma identiche nel "contenuto", e quindi completamente interscambiabili.

Luca

WilOhmsford Profilo | Newbie

Ho capito. Allora siamo al punto di partenza...
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5