相关疑难解决方法(0)

如何克隆InputStream?

我有一个InputStream,我传递给一个方法来做一些处理.我将在其他方法中使用相同的InputStream,但在第一次处理之后,InputStream似乎在方法内部关闭.

我如何克隆InputStream发送到关闭他的方法?有另一种解决方案吗?

编辑:关闭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";
    }
}
Run Code Online (Sandbox Code Playgroud)

java clone inputstream

152
推荐指数
6
解决办法
12万
查看次数

标签 统计

clone ×1

inputstream ×1

java ×1