Salve a tutti, devo manipolare file di grandi dimensioni (roba di Gb per intenderci) e ho bisogno di accedere in lettura più volte allo stesso file. Dato che creare e distruggere in continuazione gli stessi oggetti non è una buona pratica, pensavo di creare il buffer fuori dal ciclo e, ad ogni fine iterazione chiuderlo per poi re-istanziarne uno nuovo:
Così facendo mi viene restituito l'errore: java.io.IOException: Stream closed (non gestisco le eccezioni ma semplicemente le rilancio). Qualcuno capisce cosa non va?Codice PHP:FileReader lettore = new FileReader(nomeListaB);
BufferedReader buffer = null;
while(condizione) {
buffer = new BufferedReader(lettoreB);
String rigaFile = buffer.readLine();
//Istruzioni varie
buffer.close();
}
La mia esigenza è quella di resettare il BufferedReader, sono a conoscenza dell'esistenza dei metodi mark/reset ma in mark andrebbe inserito un intero che rappresenta "Limit on the number of characters that may be read while still preserving the mark", io questo valore non lo conosco a priori e penso che non valga la pena mettersi a calcolarlo.
Grazie per l'aiuto

Rispondi quotando