Bazı işlemler yapmak için bir yönteme geçmek bir InputStream var. Başka bir yöntemde aynı InputStream kullanacağım, ancak ilk işlemden sonra, InputStream yöntemin içinde kapalı görünüyor.
Onu kapatan yönteme göndermek için InputStream'i nasıl klonlayabilirim? Başka bir çözüm var mı?
EDIT: InputStream kapatır yöntemleri bir lib dış bir yöntemdir. Kapanma ya da kapama konusunda kontrolüm yok.
private String getContent(HttpURLConnection con) {
InputStream content = null;
String charset = "";
try {
content = con.getInputStream();
CloseShieldInputStream csContent = new CloseShieldInputStream(content);
charset = getCharset(csContent);
return IOUtils.toString(content,charset);
} catch (Exception e) {
System.out.println("Error downloading page: " + e);
return null;
}
}
private String getCharset(InputStream content) {
try {
Source parser = new Source(content);
return parser.getEncoding();
} catch (Exception e) {
System.out.println("Error determining charset: " + e);
return "UTF-8";
}
}