Java目录

2019-07-28  本文已影响0人  geekMole

1. JVM 属性 user.dir

@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*:

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("")
    }

}
类名 描述
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
上一篇 下一篇

猜你喜欢

热点阅读