A livello di ottimizzazione, io "proteggerei" il codice di lettura del file garantendo la sua chiusura anche in caso di errore; per esemplificare:
Nel tuo codice, invece, in caso di errore nella lettura del file, questo verrebbe chiuso solo quando il garbage collector passa a distruggere l'oggetto StreamReader che hai creato.codice:Dim r As New IO.StreamReader(PathFile) Try While r.Peek <> -1 Console.WriteLine(r.ReadLine()) End While Finally r.Close() End Try
Tralasciando questo aspetto, secondo me il problema che riscontri è dovuto alla "partenza" del tuo codice nel momento in cui il file da leggere si presenta, ma prima che questo sia stato completamente scritto e chiuso dalla routine che lo genera, segnalandoti l'errore che hai indicato.
Forse dovresti adottare un accorgimento. Ad esempio, potresti attribuire un'estensione particolare al file in corso di scrittura e rinominarlo solo quando il processo è concluso, rendendolo quindi visibile all'applicazione che si occupa di prelevarlo.
Fai eventualmente qualche prova specifica, magari scrivendo un file di dati molto corposo e provando a integrare il suggerimento sopra e vedere se il difetto si risolve.
P.S.: usa il tag [CODE ] per formattare il codice!
Ciao!![]()


Rispondi quotando