此处输出流关闭了 提示空指针,这种情况如何处理 ,或是我如何获取content数据而不关闭输出流
注释掉charwriter.close 方法后正常 具体没去细看代码 调用10w次左右 为发现io未关闭问题 估计调用 fsw.close 方法的时候就已经关闭了
项目:JFinal
此处输出流关闭了 提示空指针,这种情况如何处理 ,或是我如何获取content数据而不关闭输出流
注释掉charwriter.close 方法后正常 具体没去细看代码 调用10w次左右 为发现io未关闭问题 估计调用 fsw.close 方法的时候就已经关闭了
建议像尝试下面的代码:
StringWriter sw = new StringWriter();
String content = template.render(scope.getData(), fsw).toString();
还可以进一步改进:
其实 Template 没必要 new 出来,而是只需要替换输出参数就可以了,例如:
CharWriter charWriter = new CharWriter(64);
FastStringWriter fsw = new FastStringWriter();
charWriter.init(fsw);
try {
stat.exec(env, scope, charWriter);
String content = fsw.toString();
} finally {
charWriter.close();
}
上面的代码,使用你自己 new 出来的 CharWriter 来接管 stat 执行时的输出