Java在不使用servlet的情况下从Web内容获取文件

时间:2015-09-11 11:38:08

标签: java

我有一个Java类一个Java servlet

    @Path("/helloworld")
    public class HelloWorld  {
    @GET
    @Produces(MediaType.APPLICATION_OCTET_STREAM)
    @Path("/downloadFile")
    public Response getFile() {
        File file = new File("roma.txt");
        System.out.println("path = " + file.getPath());
        System.out.println("absoulte path = " + file.getAbsolutePath());
        return Response
                .ok(file, MediaType.APPLICATION_OCTET_STREAM)
                .header("Content-Disposition",
                        "attachment; filename=\"" + file.getName() + "\"") // optional
                .build();

    }
}

我希望阅读位于网络内容中的文件roma.txt,如下所示:

enter image description here

我使用getServletContext找到了许多答案,但我不在servlet中。因此,我无法使用该功能。

请帮助我获取roma.txt文件

我收到文件未找到异常

再次:我向上帝发誓,我不在servlet上,我不知道为什么用户只是使用servlet给我答案。我真的很感激它的帮助,但请先尝试阅读问题,我粗体说我不是在servlet上

1 个答案:

答案 0 :(得分:-1)

您可以使用ServletContext。

public Response getFile(@Context ServletContext servletContext) {
 File roma = new File(servletContext.getRealPath("roma.txt"));
}

我的意思是,你在服务器上运行不是吗?