如何克隆输入流?
2022-08-31 06:28:06
						我有一个输入流,我传递给一个方法来做一些处理。我将在其他方法中使用相同的 InputStream,但在首次处理后,输入流似乎在方法内部关闭。
如何克隆输入流以发送到关闭他的方法?还有另一种解决方案?
编辑:关闭输入流的方法来自 lib 的外部方法。我无法控制关闭与否。
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";
    }
}
 
					 
				 
				    		 
				    		 
				    		 
				    		