您的位置:首页 > 编程语言 > Java开发

Java中的路径问题

2016-08-18 08:57 197 查看

1.绝对路径

以根目录或某盘符开头的路径(或者说完整的路径)
例如:
c:/a.txt (Windows操作系统中)
c:/xxx/a.txt (Windows操作系统中)
/var/xx/aa.txt (Linux操作系统中)

包含盘符,但有的系统不包含盘符(比如Linnux),所以无法做到通用


2.相对路径

相对于当前路径的一个路径。就是执行java命令时,控制台所在的路径。

在Eclipse中,当前路径是工程的根目录。

测试代码:


public class PathTest {
public static void main(String[] args) throws Exception {
System.out.println(new File("a.txt").getAbsolutePath());
}
}


存在的问题:相对路径是相对于目前执行class文件的时候,控制台所在的路径,这样子也会导致出现问题。所以引入了classpath路径


3.类文件路径

引入:在Java程序中,一般情况下使用绝对路径还是相对路径都不太合适,因为Java程序的jar包所放的位置不确定,执行java程序时当前的路径也不确定,所以不合适。一般在Java程序中我们会把资源放到classpath中,然后使用classpath路径查找资源。

就是使用了classPath的路径找到对应的资源文件。


获取classpath中的资源(InputStream):

public static void main(String[] args) throws Exception {
Class clazz = new ClassPathTest().getClass();

// 开头的'/'表示classpath的根目录,这个是表示从classpath的根目录中开始查找资源
InputStream in = clazz.getResourceAsStream("/my.properties");

// 如果开头没有'/',表示从当前这个class所在的包中开始查找
InputStream in2 = clazz.getResourceAsStream("my.properties");
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java