精华内容
下载资源
问答
  • 之前处理根据模板文件,批量导入xxx.zip 的下载功能,用到这两个知识,就简单记录,对于流的处理就跳过了 由于maven项目打包会把src/main/java和src/...一、获取resources下文件路径 总结起来有两点: 1、C...

           之前处理根据模板文件,批量导入xxx.zip 的下载功能,用到这两个知识,就简单记录下,对于流的处理就跳过了      

    由于maven项目打包会把 src/main/java 和 src/main/resources 下的文件放到 target/classes 下,所以统一以根路径代表此目录。

    创建一个springboot项目

          

    server:
      port: 80
      servlet:
        context-path: /JQ_Resource

     

    一、获取resources下的文件路径

    总结起来有两点:

    1、Class.getResource()的获取资源路径

          - 如果以 / 开头,则从根路径开始搜索资源。

          - 如果不以 / 开头,则从当前类所在的路径开始搜索资源。

    2、ClassLoader.getResource()的资源获取不能以 / 开头,统一从根路径开始搜索资源。

    String path = this.getClass().getClassLoader().getResource("xxx").getPath();

    测试:

        public void getResource() {
            //1、通过Class的getResource方法
            String a1 = RescourceController.class.getResource("/cn/jq/jqresource/pojo/User.class").getPath();
            String a2 = this.getClass().getResource("../pojo/User.class").getPath();
            String a3 = RescourceController.class.getResource("/static/a.txt").getPath();
            String a4 = this.getClass().getResource("../../../../static/a.txt").getPath();
            System.out.println(a1.equals(a2)); // true
            System.out.println(a4); // /D:/JQ/workspace/JQ_Resource/target/classes/static/a.txt
    
            // 2、通过本类的ClassLoader的getResource方法
            String b1 = RescourceController.class.getClassLoader().getResource("cn/jq/jqresource/pojo/User.class").getPath();
            String b2 = this.getClass().getClassLoader().getResource("static/a.txt").getPath();
            String b3 = this.getClass().getClassLoader().getResource("static/resource/jq.docx").getPath();
    
            // 3、通过ClassLoader的getSystemResource方法
            String c1 = ClassLoader.getSystemClassLoader().getResource("cn/jq/jqresource/pojo/User.class").getPath();
            String c2 = ClassLoader.getSystemClassLoader().getResource("static/a.txt").getPath();
            String c3 = ClassLoader.getSystemClassLoader().getResource("static/resource/jq.docx").getPath();
    
            // 4、通过ClassLoader的getSystemResource方法
            String d1 = ClassLoader.getSystemResource("cn/jq/jqresource/pojo/User.class").getPath();
            String d2 = ClassLoader.getSystemResource("static/a.txt").getPath();
            String d3 = ClassLoader.getSystemResource("static/resource/jq.docx").getPath();
    
            // 5、通过Thread方式的ClassLoader的getResource方法
            String e1 = Thread.currentThread().getContextClassLoader().getResource("cn/jq/jqresource/pojo/User.class").getPath();
            String e2 = Thread.currentThread().getContextClassLoader().getResource("static/a.txt").getPath();
            String e3 = Thread.currentThread().getContextClassLoader().getResource("static/resource/jq.docx").getPath();
        }

    二、resources下创建临时文件

        public void createFile(HttpServletRequest request) throws IOException {
            String contextPath = request.getContextPath(); // /JQ_Resource
    
            String filePath = contextPath + "/temp/hr.zip";
            String dirPath = contextPath + "/temp/hr";
            File file = new File(filePath);
            File dir = new File(dirPath);
            if (file.exists()) {
                // 删除指定文件,不存在报异常
                FileUtils.forceDelete(file);
            }
            file.createNewFile();
    
    
            if (dir.isDirectory()) {
                // 清除该目录下的文件及子目录文件而不删除该目录文件夹。该目录不存在会报错
                FileUtils.cleanDirectory(dir);
            } else {
                dir.mkdirs();
            }
    
            File dir_File = new File(dirPath + "/" + "dir_file.txt");
    
            System.out.println(dir_File.getPath()); // \JQ_Resource\temp\hr\dir_file.txt
            System.out.println(file.exists()); // true
        }

    知识点回顾:

        Servlet的继承体系与HttpServletRequset和HttpServletResponse

        FileUtils工具类常用方法

      

    ends~

    展开全文
  • Java获取resources下文件路径

    万次阅读 2020-03-01 19:39:45
    在 Java读取properties配置文件 中,我们知道了如何读取properties配置文件,这里我们再了解一下如何获取resoures文件文件路径,在之前获取properties配置文件的路径是,我们使用了Thread方法如下: 其实我们...

    Java读取properties配置文件 中,我们知道了如何读取properties配置文件,这里我们再了解一下如何获取resoures文件下的文件路径,在之前获取properties配置文件的路径是,我们使用了Thread方法如下:
    在这里插入图片描述


    其实我们也是可以通过Thread这种形式来获取 resources 文件夹下的路径,如下
    在这里插入图片描述

    Thread.currentThread().getContextClassLoader().getResource("…").getPath()
    在这里插入图片描述

    其中需要注意的是,static文件夹不能为空,否则可能发报,空指针异常,因为在打包时空文件夹被忽略了,这里我们可以通过 target 包进行查看



    除此之外我们还可以通过很多其他的方式,如下:

    this.getClass().getClassLoader().getResource("…").getPath()
    XXX.class.getClassLoader().getResource("…").getPath()
    在这里插入图片描述



    ClassLoader.getSystemClassLoader().getResource("…").getPath()
    在这里插入图片描述



    ClassLoader.getSystemResource("…").getPath()
    在这里插入图片描述

    展开全文
  • SpringBoot获取resources文件路径

    万次阅读 2020-03-06 19:37:43
    在SpringBoot项目中,需要获取resources文件路径,网上找了好多文章都不行,后面还是结合官方文档实现了,这里记录,我使用的版本是SpringBoot2.x版本 解决方案 1、获取resources文件夹路径 File directory ...

    背景

    在SpringBoot项目中,需要获取resources文件的路径,网上找了好多文章都不行,后面还是结合官方文档实现了,这里记录下,我使用的版本是SpringBoot2.x版本

    解决方案

    1、获取resources文件夹路径

    File directory = new File("xxx/xxx/src/main/resources");
    String reportPath = directory.getCanonicalPath();
    xxx为你的项目内包的名称,File只会找到项目最外层地址;
    

    这里需要注意,不能在xxx前面加/,否则只会找到顶层地址

     

    展开全文
  • 获取resources文件夹下面的文件路径

    千次阅读 2019-05-06 16:37:04
    获取resources文件夹下面的文件路径 String filePath = GetResource.class.getClassLoader().getResource(“××/××.xlsx”).getPath();

    获取resources文件夹下面的文件路径

    String filePath = GetResource.class.getClassLoader().getResource(“××/××.xlsx”).getPath();

    展开全文
  • resources文件夹中的文件不会经过...获取resources文件夹中的文件路径方法:String filePath = this.getClass().getClassLoader().getResource("文件名").getPath();11String filePath = this.getClass().getClass...
  • Spring Boot 获取 resources下文件

    万次阅读 2018-04-26 14:23:02
    业务描述:我要获取resources下的 一个文件,如我要获取的exceljava 代码://excel模板路径 File cfgFile = ResourceUtils.getFile(ResourceUtils.CLASSPATH_URL_PREFIX + "static/excel/inventory_act.xlsx&...
  • spring项目获取resources下文件的方法   最近写读取模板文件做一些后续的处理,将文件放在了项目的resources ,发现了一个好用的读取方法:   比如上边是你需要读取的文件:   读取的方法如下: //File ...
  • 当将项目打包成war包时 会将项目的所有资源放入web-INF lib里放的是jar包 classes中放的是资源文件和编译好的Java代码     String path = this.getClass().getResource("/").getPath(); ...
  • springboot动态获取resources下路径

    万次阅读 2019-03-12 15:16:34
    Resource resource = new ClassPathResource("rsa_private_key_pkcs8.pem"); String Path = resource.getFile().getPath();
  • //获取文件相对路径,path是自己定义的路径参数 InputStream inputStream =getClass().getClassLoader().getResourceAsStream(path); prop.load(inputStream); 这个方法会自动加载target/classes路径下面的文件。请...
  • springboot项目获取resources路径(相对路径

    万次阅读 多人点赞 2019-04-29 16:44:18
    springboot文件上传保存到resources里,用 System.getProperty("user.dir");参数即可获得项目相对路径。(ps:不知道是不是springboot内嵌tomcat容器的原因,用网上的request.getServletContext().getRealPath("/")...
  • 大概类似这样的目录要在CityService中获取resources中的city.josn可以这样写File file = new File(this.getClass().getResource("/city.josn").getPath());这样就可以用IO打开resources里面的文件了...
  • 获得classpath路径 String classpath = this.getClass().getResource("/").getPath().replaceFirst("/", ""); 获得classpath路径path,类似于: /F:/apache-tomcat-8.0.53/webapps/caijunweb/WEB-INF/classes/ ...
  • java获取src/main/resources下文件路径

    千次阅读 2019-09-16 02:55:18
    String rootPath=request.getClass().getResource("/XXX").getFile().toString(); 转载于:https://my.os...
  • 正常在Java工程中读取某路径下文件时,可以采用绝对路径和相对路径,绝对路径没什么好说的,相对路径,即相对于当前类的路径。在本地工程和服务器中读取文件的方式有所不同,以下图配置文件为例: (1)本地读取...
  • 要取编译后的路径,而不是你看到的src/main/resources路径。如下:   URL url = 类名.class.getClassLoader().getResource("conf.properties");  File file = new File(url.getFile());  或者  URL url...
  • java获取resources下文件

    千次阅读 2019-08-23 16:09:25
    读取src/main/resources/test/test.txt文件 Test.class.getClassLoader().getResourceAsStream("test/test.txt");...获取文件绝对路径 Test.class.getClassLoader().getResource("test/test.txt").getPath(); ...
  • URL url = this.getClass().getClassLoader().getResource("file"); File file = new File(url.getPath());
  • idea获取 resource 下文件路径

    千次阅读 2020-04-29 15:50:00
    然后就是 “/”, 可以用在文件路径上,它在路径中就相当于 “\\”,要小心使用;使用案例如图: 在 Linux 操作系统中,“/”也经常被我们用于进入目录,如图(进入根目录的 dev 目录 ): 其次就是 “\”,在我们...
  • spring java 获取webapp下文件路径

    千次阅读 2016-05-11 09:23:51
    自己的代码-(无法找到文件): 主要问题在于无法找到相应的文件,各位游客如果看到我的代码中有哪些问题请勇敢大声的指出来: @RequestMapping("showAttachmentPDF") public String showAttachmentPDF(Model ...
  • Java获取resources下文件

    千次阅读 2019-04-02 16:13:18
    当我们想要获取mysql.properties、oracle.properties、bayonetConfig.txt文件里面内容的时候,我们一般会采用不同的方式,面对是properties,那么我所采用的是 ResourceBundle bundle = ResourceBundle.getBundle...
  • 在开发项目中经常获取resources下文件(配置文件及其他各种各样的文件),本文通过java代码获取文件及输入流; 主要用类加载器的两个重要方法 InputStream in = getClass().getClassLoader()....
  • 正常在Java工程中读取某路径下文件时,可以采用绝对路径和相对路径,绝对路径没什么好说的,相对路径,即相对于当前类的路径。在本地工程和服务器中读取文件的方式有所不同,以下图配置文件为例:   (1)本地...
  • Spring Boot 获取 java resources 下文件

    万次阅读 2018-12-04 11:31:45
    Spring Boot 获取 java resources 下文件 前些日子由于项目需要,在项目的 resources 目录里创建了一个 template 目录,用于存放一些 Excel 模板,但在代码里获取 template 目录时,Windows 环境可以,但 Linux ...
  • 1、获取文件路径: String filePath = ""; URL url = ClassLoader.getSystemResource("excelTemplate/demo.xls"); if(url != null) { filePath = url.getPath(); } 2、获取指定文件的输入流: InputStream ...
  • //路径不用/开头,即使开头,实际在ClassPathResource中也会被处理掉 String styleFile = "templates/style.css"; ClassPathResource cpr = new ClassPathResource(styleFile); String style = FileUtils.readFile...
  • springboot打包后是无法直接访问resources下文件,必须通过ResourceLoader进行获取 例如读取csv文件。 //读取csv配对文件,初始化映射关系 File csvFile = null; InputStream stream = null; InputStreamReader...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 187,406
精华内容 74,962
关键字:

如何获取resources下文件的路径