Se mai a qualcuno potesse servire ho risolto nel seguente modo:
Ho copiato dentro lo StringWriter il contenuto del BufferedReader in ingresso:
Dopo questo ho usato la risposta al metodo per ottenere una copia di un BufferedReader appena letto:public static StringWriter Getdata(String Indirizzo) {
String result="";
boolean check1 = false, check2 = false;
StringWriter mem= new StringWriter();
BufferedReader in=null;
PrintWriter copy = new PrintWriter(mem);
try {
URL url = new URL(Indirizzo);
URLConnection conn = url.openConnection();
conn.setDoOutput(true);
in = new BufferedReader(
new InputStreamReader(
conn.getInputStream()));
String inputLine;
while ((inputLine = in.readLine()) != null) {
copy.println(inputLine);
}
in.close();
return mem;
} catch (MalformedURLException _error) {
System.out.println("URLException: " + _error.getMessage());
System.exit(1);
}
catch (IOException _error) {
System.out.println("IOException: " + _error.getMessage());
System.exit(1);
}
return null;
}
In questo modo ho conservato lo stream che mi interessava dentro buffer e l'ho potuto rileggere quante volte ho voluto applicando il try catch che ho riportato quando serviva.StringWriter buffer = new StringWriter();
buffer = GetResultFromWeb.Getdata(Hostname);
try {
Reader bufferread = new StringReader(buffer.toString());
BufferedReader nPbr = new BufferedReader(bufferread);
length = MyMethodReader(nPbr);
nPbr.close();
} catch (IOException _error) {
System.out.println("IOException: " + _error.getMessage());
System.exit(1);
}
Ebolo.