我想打开一个文件并返回其内容。尽管与要打开文件的类位于同一目录中,但找不到该文件。如果您能帮助我解决问题,那将很酷。
这是代码:
@GET @Produces("text/html") @Path("/{partNO}/") @Consumes("text/html")
public String getPartNoResponseHTML(@PathParam("partNO") String parID) throws WebApplicationException {
PartNoTemplate partNo = getPartNoResponse(parID);
String result = "";
try {
result = readFile(PART_NO_TEMPLATE_FILE);
} catch (FileNotFoundException e) {
e.printStackTrace(System.out);
return e.getMessage() + e.toString();
// throw new WebApplicationException(Response.Status.NOT_FOUND);
} finally {
result = result.replace("{partNO}", parID);
result = result.replace("{inputFormat}", partNo.getFormat().toString());
}
return result;
}
我猜它找不到文件,因为它运行在tomcat上。我也在使用Jersey和JAX-RS。谢谢您的帮助,
马克西
最佳答案
尝试从ServletContext获取文件的路径。
ServletContext context = //Get the servlet context
在JAX-RS中获取servlet上下文,请使用以下命令:
@javax.ws.rs.core.Context
ServletContext context;
然后从您的Web应用程序获取文件:
File file = new File(context.getRealPath("/someFolder/myFile.txt"));