如何读取不同包中的资源文件?

拉斐尔·戈麦斯·弗朗西斯科

我正在尝试从类“ UserList.java”中读取“ User.json”文件,但我做不到。我正在JSP / Servlet中进行开发,我不喜欢在服务器文件夹(TOMCAT)的上下文中阅读。

我尝试一下:

// User.java

Gson gsonObject = new Gson();
String res = gsonObject.toJson(new FileReader("User.json"));

System.out.println("User ==> JSON  " + res);

结果:

java.io.FileNotFoundException: User.json

Json文件:

// User.json

{
    "user": {
        "type": "text"
        },
    "name": {
        "type": "text"
        },
    "password": {
        "type": "password"
    },
    "characterName": { 
        "type": "combo",
        "id": "rolls"
    }
}

软件包如下:

br.com.servtech.servlet.list ==> UserList.java
br.com.servtech.model.json ==> User.json

JB Nizet

FileReader构造函数接受一个文件名作为参数。您为它传递了一个相对文件名,因此Java在文件系统的当前目录中寻找它,该目录是启动用于启动Tomcat的java命令的目录。

不仅路径是这样不正确的,但你甚至不希望使用一个文件,因为你想读什么是资源是WAR文件里,甚至里面的战争文件内部的JAR文件。

您要使用该资源,这要归功于类加载器,因为必须使用与warclass和jars和package相同的加载机制(与.class文件一样)来找到此资源。因此,您应该使用

InputStream in = UserList.class.getResourceAsStream("/br/com/servtech/model/json/User.json");

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何读取全局资源文件

来自分类Dev

如何读取全局资源文件

来自分类Dev

从资源包中读取文件

来自分类Dev

如何读取buildSrc模块资源文件夹中的属性文件?

来自分类Dev

在资源文件夹Android中读取CSV文件

来自分类Dev

我可以读取资源文件中的.ini文件吗?

来自分类Dev

在资源文件夹Android中读取CSV文件

来自分类Dev

如何访问Xcode中的资源文件?

来自分类Dev

如何使资源文件在 jar 中可用?

来自分类Dev

我如何编辑Cargo.toml以便在我的Cargo包中包含资源文件?

来自分类Dev

如何使资源文件对 OSGi 中的所有包可见?

来自分类Dev

如何读取资源文件?(谷歌云dafaflow)

来自分类Dev

读取XAML外部库中的资源文件

来自分类Dev

如何使用pandas read_pickle从qrc资源文件中读取包含pandas数据帧的泡菜文件?

来自分类Dev

如何读取项目文件夹下的资源,而不是源文件夹下的资源

来自分类Dev

如何使用bnd / maven-bundle-plugin从jar依赖项将资源文件包含在osgi捆绑包中?

来自分类Dev

如何使用bnd / maven-bundle-plugin从jar依赖项将资源文件包含在osgi捆绑包中?

来自分类Dev

如何引用资源文件

来自分类Dev

从 SonarQube 插件内部读取资源文件

来自分类Dev

不同屏幕尺寸的Android资源文件

来自分类Dev

如何从资源文件夹中删除Android徽标

来自分类Dev

如何从 WPF 中的资源文件加载控件大小

来自分类Dev

Java:从资源文件夹内文件夹中的txt文件读取

来自分类Dev

Struts 2和Sitemesh中针对不同环境的不同资源文件根目录

来自分类Dev

如何从jar文件访问资源文件

来自分类Dev

如何将包标记为资源文件夹?

来自分类Dev

读取JavaScript中的资源文件条目-MVC应用程序

来自分类Dev

从资源文件中读取字符串并以编程方式对其进行编辑

来自分类Dev

无法以非阻塞方式在Docker容器中读取类路径资源文件

Related 相关文章

  1. 1

    如何读取全局资源文件

  2. 2

    如何读取全局资源文件

  3. 3

    从资源包中读取文件

  4. 4

    如何读取buildSrc模块资源文件夹中的属性文件?

  5. 5

    在资源文件夹Android中读取CSV文件

  6. 6

    我可以读取资源文件中的.ini文件吗?

  7. 7

    在资源文件夹Android中读取CSV文件

  8. 8

    如何访问Xcode中的资源文件?

  9. 9

    如何使资源文件在 jar 中可用?

  10. 10

    我如何编辑Cargo.toml以便在我的Cargo包中包含资源文件?

  11. 11

    如何使资源文件对 OSGi 中的所有包可见?

  12. 12

    如何读取资源文件?(谷歌云dafaflow)

  13. 13

    读取XAML外部库中的资源文件

  14. 14

    如何使用pandas read_pickle从qrc资源文件中读取包含pandas数据帧的泡菜文件?

  15. 15

    如何读取项目文件夹下的资源,而不是源文件夹下的资源

  16. 16

    如何使用bnd / maven-bundle-plugin从jar依赖项将资源文件包含在osgi捆绑包中?

  17. 17

    如何使用bnd / maven-bundle-plugin从jar依赖项将资源文件包含在osgi捆绑包中?

  18. 18

    如何引用资源文件

  19. 19

    从 SonarQube 插件内部读取资源文件

  20. 20

    不同屏幕尺寸的Android资源文件

  21. 21

    如何从资源文件夹中删除Android徽标

  22. 22

    如何从 WPF 中的资源文件加载控件大小

  23. 23

    Java:从资源文件夹内文件夹中的txt文件读取

  24. 24

    Struts 2和Sitemesh中针对不同环境的不同资源文件根目录

  25. 25

    如何从jar文件访问资源文件

  26. 26

    如何将包标记为资源文件夹?

  27. 27

    读取JavaScript中的资源文件条目-MVC应用程序

  28. 28

    从资源文件中读取字符串并以编程方式对其进行编辑

  29. 29

    无法以非阻塞方式在Docker容器中读取类路径资源文件

热门标签

归档