zoukankan      html  css  js  c++  java
  • this.getClass().getResource(String) 路径问题

    this.getClass().getResource(String) 路径问题    这里的默认当前路径是该类所在目录; this.getClass() 说明了一切!!

                                                                               找到类,就找文件;很显然和类同一目录下

                                                                               如果是在静态方法里,可以使用     类名.Class.getResource()

    this.getClass().getClassLoader().getResource(String)  这里的路径就是项目的根目录 src/main下的 或者编译好的classes 下的;getClassLoader()说明了一切 ! !

                                                                               找到类,还得找到类的加载器,再找文件;很显然再根目录下

    File f=new File(String);//路径问题和上述有点区别   这里默认当前路径是该工程下的第一层 与平时所说的src 在同一层

    其实具体所指示的路径可能由于开发工具的相关配置而引起不同,此时可以打印一下f的路径看看

      其实很简单:       

    /images/j.jpg    
    /a.txt

    有斜杠 表示从 项目 根目录下找

       

    images/j.jpg
    a.txt 

    无斜杠表示从当前 执行 文件夹下寻找

    难点在于哪里是根目录,哪里是当前文件夹下。。。。。。是编译好的文件噢!!!!! 不一定 是当前编写的代码所在的文件。为什么说不一定呢?

    对于maven项目,根目录其实是在target 文件夹下的classes 或 test-classes

    对于maven的web项目其目录结构应如下
    maven
    --src
    --main
    --java (在运行时,其内容会被编译到target的classes下,紧适合放java代码)
    --包A
    --包B
    --resources (在运行时,下面内容会被拷贝的target下,因此放一些资源文件)
    --文件夹C
    --图片X
    --图片J
    --webapp
    --test



    --target (运行或编译时候自动生成)
    --classes
    --包A
    --包B
    --问价夹C
    --图片X
    --图片J
               --test-classes

    如上图:根目录就是指classes/ 或test-classes/

    test与main下面的文件夹结构类似,都一般包含java、resource等

    假如我在main/resources 下面的文件价夹下放置 图片.jpg;通过test/java/中的类能否使用呢?

    答案是可以的:

    本人测试结果如下:

    首次编译执行test:

    main/resources与 test/resources 内都有要使用的文件,则使用拷贝到test-classes/下的文件
                         main/resources有 test/resources 内没有,则使用拷贝到classes/下的文件

    非初次编译运行时:

    假如我在第二次运行前删除了test-classes/下的文件 则他会去寻找classes/下的文件
    若都删除则会报错,找不到

    文件同步机制:src ----> target 单向同步



    By Ginfoo
  • 相关阅读:
    Hanoi塔
    采药
    进制转换(大数)
    Load Balancing with NGINX 负载均衡算法
    upstream模块实现反向代理的功能
    epoll
    在nginx启动后,如果我们要操作nginx,要怎么做呢 别增加无谓的上下文切换 异步非阻塞的方式来处理请求 worker的个数为cpu的核数 红黑树
    粘性会话 session affinity sticky session requests from the same client to be passed to the same server in a group of servers
    负载均衡 4层协议 7层协议
    A Secure Cookie Protocol 安全cookie协议 配置服务器Cookie
  • 原文地址:https://www.cnblogs.com/infoo/p/6403912.html
Copyright © 2011-2022 走看看