new FileOutputStream(file)导致tomcat突然挂掉,有遇到过类似问题的吗
并没有接到抛出异常,直接就中止服务了。
想问下有遇到过类似问题的,请指教下,谢谢。
有没有放在 try 中?
try (OutputStream out = new FileOutputStream(file)) {
//...
}
public static Writer out = null;
try{
FileOutputStream fileOutputStream = new FileOutputStream(file);
//后边的都没走
OutputStreamWriter outputStreamWriter = new OutputStreamWriter(fileOutputStream,"UTF-8");
out = new BufferedWriter(outputStreamWriter);
template.process(dataMap,out);
}catch(Exception e){
e.printStackTrace();
throw new RuntimeException(e);
}finally {
//如果out不是null,才需要close()
if (out != null){
try {
out.flush();
out.close();
out = null;
} catch (IOException e) {
e.printStackTrace();
}
}
}
放啦,在try里的 ,还有finally,可是没有抛出异常,连finally都没走,就是走到这个语句之后服务就直接断了,后边的都没走。
加个锁试试
这个问题后来解决没?我也遇到这个问题了。。。
把系统中所有的io流都记得关掉,有很多流没关导致的这个问题
文件有多大?
– dudu 5年前@dudu: 大约几百k的文件,但是调用频率有点频繁,这个有影响吗
– 萧_无殇 5年前