Salve a tutti,
Ho dei problemi a gestire la lettura di un file, la questione è la seguente...
Io dovrei leggere un file di testo composto da lettere che sono delimitate da un codice che è sempre lo stesso, del tipo
<Codice sempre uguale>
riga1
riga2
...
rigaN
<Codice sempre uguale>
riga1
riga2
...
rigaN
<Codice sempre uguale>
e cosi' via, il problema è che questo file di testo è enorme quindi non posso fare la lettura dell'intero file e metterlo in un arraylist, quindi vorrei eseguire la lettura lettera per lettera.
Il codice che ho provato ad usare è
Pensavo di aprire nel main un buffered reader e usare sempre quello in un ciclo per gestire una per una le lettere.codice:protected static ArrayList<String> ottieniSingolaLettera(BufferedReader reader) { ArrayList<String> lettera = null; try { String letto = reader.readLine(); while(letto!=null) { if(letto.length()>2) { if(letto.substring(0,3).matches("3LettereCodice")) { lettera= new ArrayList<String>(); lettera.add(letto); letto=reader.readLine(); while(!letto.substring(0,3).matches("3LettereCodice")) { lettera.add(letto); letto=reader.readLine(); } break; } else letto=reader.readLine(); } } } catch(Exception e) { System.out.println(e.getMessage()); } return lettera; }
Il problema cosi' è che praticamente mi legge una lettera si e una no perchè l'ultimo readline contiene il codice che fa da interruzione e quindi quando rientra nel metodo rifà il readline e salta alla lettera successiva...
Qaulcuno sa come potrei uscirne vivo?
Grazie in anticipo per le risposte

 
			
			 
					
					
					
						 Rispondi quotando
  Rispondi quotando