Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在java web服务中查找文件路径_Java_Web Services_Tomcat_Jax Rs - Fatal编程技术网

如何在java web服务中查找文件路径

如何在java web服务中查找文件路径,java,web-services,tomcat,jax-rs,Java,Web Services,Tomcat,Jax Rs,如何找到已上载文件的路径 我目前正试图通过restful web服务从文本文件返回字符串。但是,在tomcat服务器上运行web项目时,我无法访问文件路径位置 该文件包含在 Project root |_Java Resources |_package |_MyServiceClass.java |_ resources |_myText.txt 要创建的服务使用javax,看起来像 @GET @Produces(MediaType.TEXT_HTML) public S

如何找到已上载文件的路径

我目前正试图通过restful web服务从文本文件返回字符串。但是,在tomcat服务器上运行web项目时,我无法访问文件路径位置

该文件包含在

Project root
|_Java Resources
  |_package
      |_MyServiceClass.java
|_ resources
   |_myText.txt
要创建的服务使用javax,看起来像

@GET
@Produces(MediaType.TEXT_HTML)
public String returnStriing() throws {
        String inputFileName  = "resources/myText.txt";
        File file = new File(inputFileName);
    }

提供相对路径的解决方案对我不起作用。如何找到文件的路径?

这是对资源的常见误解。虽然它们在您构建项目时是“普通文件”,但它们通常会被编译成JAR文件或隐藏在您无法访问的路径位置。如果它在JAR中,File类将永远无法打开它

退房

this.getClass().getResourceAsStream("/myText.txt")
它将为您要查找的资源返回一个InputStream。请注意前面的/标记。这是通往资源基础的绝对路径

此方法位于类上的原因是资源可以与类文件存在于同一个包中。在这种情况下,您将使用

this.getClass().getResourceAsStream("myText.txt")