Я определяю буферизованного писателя в разрабатываемом классе, но у меня возникают проблемы с ним.
В конструкторе класса я определяю:
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();
}