我在我正在开发的一个类中定义一个缓冲的编写器,但是遇到了问题。
在类构造函数中,我定义:
public class RestHandler {
public static BufferedWriter rest_logger;
public RestHandler(parsedXMLConfigData _config, BufferedWriter writer) {
rest_logger = writer;
try {
rest_logger.write("RestHandler instance finished init and ready to receive calls!" + "\n");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
这有效并将文本打印到我的文件中。但是当我尝试在我rest_logger
的另一个类方法中使用相同的方法时:
@POST
@Path("{subResources: [a-zA-Z0-9_/]+}")
public void postHandler
(
@Context final UriInfo uriInfo,
@PathParam("subResources") String subResources) {
try {
rest_logger.write("TEXT...");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
它给了我一个流关闭异常!我应该提到我用它来关闭流:
protected void finalize() throws Throwable {
rest_logger.close();
}