V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
cirton
V2EX  ›  Java

请问如何使用语句获取 WebRoot 下的资源文件?

  •  
  •   cirton · 2019-01-15 15:13:34 +08:00 · 1660 次点击
    这是一个创建于 2165 天前的主题,其中的信息可能已经有所发展或是发生改变。

    现在使用语句 类名.class.getClassLoader().getResourceAsStream(target_file); 读取 target_file 文件内容;

    但上面语句默认获取的路径是 D:/workspace/java_17/mywebApp/target/classes/,只能读取该目录下的文件;

    而目标文件路径如下 D:/workspace/java_17/mywebApp/WebRoot/target_file, 如果要读取该目录下的文件,该如何操作?

    5 条回复    2019-01-16 15:11:25 +08:00
    w4ngzhen
        1
    w4ngzhen  
       2019-01-15 20:39:25 +08:00
    webroot 这个目录的东西没有编译到 target/classes/下么?
    cirton
        2
    cirton  
    OP
       2019-01-16 09:14:57 +08:00
    @w4ngzhen 没有,target/classes/下只有 java 代码的 class 文件,webroot 下的 html,jsp 文件都没有编译到该目录下.
    fatcheung
        3
    fatcheung  
       2019-01-16 09:27:09 +08:00
    获取根路径
    spring:
    path = request.getSession().getServletContext().getRealPath("/");
    war 包:
    path = class.getClassLoader().getResource("/").getPath();
    path = path.substring(0, path.indexOf("WEB-INF"));
    w4ngzhen
        4
    w4ngzhen  
       2019-01-16 13:15:02 +08:00 via iPhone
    @cirton 按照正常来说,如果你这些是 web 项目的资源文件,应该在完成项目编译后输出到 classes 下面的啊。
    choice4
        5
    choice4  
       2019-01-16 15:11:25 +08:00 via Android
    Classes 往上走一层(.. 或者 getparent?)就有吧
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3037 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 13:19 · PVG 21:19 · LAX 05:19 · JFK 08:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.