美文网首页
Java目录

Java目录

作者: geekMole | 来源:发表于2019-07-28 12:59 被阅读0次

1. JVM 属性 user.dir

  • user.dir 为java.io包下所有读取文件类的基本路径, 默认为jar包启动时候命令执行所在的目录.
  • 等同于pwd(print working directory)命令展示的目录. 如果写启动bash脚本, 记得cd到jar包所在目录, 或者其他设定的目录.
@SpringBootApplication
public class QuartzApplication {

    public static void main(String[] args) {
        System.getProperty("user.dir");
        SpringApplication.run(QuartzApplication.class, args);
    }

}

其他与文件相关的属性:

java.class.path Java类路径
java.library.path 加载库时搜索的路径列表
java.io.tmpdir 默认的临时文件路径
file.separator 文件分隔符(在 UNIX 系统中是“/”)
path.separator 路径分隔符(在 UNIX 系统中是“:”)
line.separator 行分隔符(在 UNIX 系统中是“/n”)
user.name 用户的账户名称
user.home 用户的主目录

2. classpath:和classpath*:

  • classpath: :表示从类路径中加载资源,classpath:和classpath:/是等价的,都是相对于类的根路径。资源文件库标准的在文件系统中,也可以在JAR或ZIP的类包中。

  • classpath::假设多个JAR包或文件系统类路径都有一个相同的配置文件,classpath:只会在第一个加载的类路径下查找,而classpath:会扫描所有这些JAR包及类路径下出现的同名文件。

  • 获取资源的其他方式

public class QuartzApplication {
    public static void main(String[] args) {
        // 得到classes目录的文件路径
        QuartzApplication.class.getResource("/").getPath();
        // 得到当前类所处目录的文件路径
        QuartzApplication.class.getResource("").getPath();
        // getClassLoader().getResource("")参数只能为相对路径,得到classpath为基本路径拼出的路径, 参数如果为绝对路径会得到null
        QuartzApplication.class.getClassLoader().getResource("")
        // 读取jar包内资源文件要用流
        QuartzApplication.class.getClassLoader().getClassLoader().getResourceAsStream("")
    }

}
  • Spring的Resource接口对象,
    该接口拥有对应不同资源类型的实现类,例如:
类名 描述
ClassPathResource.class 类路径下的资源,资源以相对于类路径的方式
FileSystemResource.class 文件系统资源,资源以文件系统路径的方式
InputStreamResource.class
ServletContextResource.class
UrlResource.class 封装了java.net.URL,能够访问任何可以通过URL表示的资源,如文件系统资源、HTTP资源、FTP资源
PathResource.class 封装了java.net.URL、java.nio.file.path
  • 地址前缀总结:
地址前缀 示例 对应的资源类型
classpath: classpath:/spring/spring-*.xml 从类路径中加载资源,classpath:和classpath:/是等价的,都是相对于类的根路径。资源文件库标准的在文件系统中,也可以在JAR或ZIP的类包中
file: file:/conf/bean.xml 使用UrlResource从文件系统目录中装载资源,可采用绝对或相对路径
http:// http://www.p7.com/resource/bean.xml 使用URLResource从Web服务器中装载资源
ftp:// ftp://www.p7.com/resource/bean.xml 使用URLResource从FTP服务器中装载资源
没有前缀 conf/bean.xml 根据ApplicationContext的具体实现采用对应类型的Resource

相关文章

网友评论

      本文标题:Java目录

      本文链接:https://www.haomeiwen.com/subject/obtkvqtx.html