grazie andbin, devo specificare 2 cose:
1)lavoro in android e vado a caricare il mio file da un url web, e il processo è gestito da una libreria che crea un thread a parte e lavora in modo asincrono è per questo che ho pensato al thread safe, o non centra nulla comunque?
La libreria l'ho postata nel thread preecedente
2)il file puo arrivare ad essere anche 20MB e di questo file devo fare un parsing come posso fare tutto nel modo piu sicuro possibile?al limite anche salvando il file e riaprendolo; E' meglio spezzare la lettura in blocchi di stringhe e fare il pharsing di questo? devo infatti ricercare delle sottostringhe nel file, le sottostringhe sono di questo genere : (è il dump di solo dati di un db mysql)

insert into(a,b,c) values(1,2,3);
insert into(a,b,c) values(4,5,6);
insert into(a,b,c) values(7,8,9);


3)alla fine forse la cosa migliore è leggere il file linea per linea , o c'è qualcosa di possibilmente piu veloce?

grazie.
ps.
in questo modo funziona:
codice:
     Reader      reader      = new InputStreamReader(zin, "UTF-8");
                  
                  int data = reader.read();
                  while(data != -1){
                      buff.append((char) data);
                      data = reader.read();
                  }

                  String str = buff.toString();
ma è estremamente lento.
ciao.