Con queste poche righe è possibile leggere il contenuto di un file dalla posizione di un carattere ad un altra; può ad esempio essere utile quando riceviamo un errore in un punto di un file xml e non possiamo ottenere altri tipi di errore.
public class main {
public static void main(String[] args) {
try {
FileInputStream fstream1 = new FileInputStream("c:\\test.txt");
DataInputStream in1 = new DataInputStream(fstream1);
try {
Writer writer = new StringWriter();
char[] buffer = new char[10024]; //esempio dimensione buffer
Reader reader = new BufferedReader(new InputStreamReader(in1));
int n;
int fromChar=9; //esempio dal carattere 9
int toChar=11; //esempio leggo 2 caratteri
while ((n = reader.read(buffer)) != -1)
writer.write(buffer, 0, n);
System.out.print("testo intero: "+writer.toString()+"\n");
System.out.print("testo trovato: "+writer.toString().substring(fromChar,toChar));
}catch(Exception e){
System.out.print("errore lettura: "+e.getMessage());
}
finally{
in1.close();
}
}catch(Exception e){
System.out.print("errore: "+e.getMessage());
}
}
}