java-各种路径详解


①文件分割符:在Windows中文件分隔符是 \,在linux和unix中文件分隔符是/。实际写时可以把分隔符用File.separator代替。

同时,需要注意的是,在Windows中直接写\是不行的,因为\本身是需要转义的。

同时,需要注意的是,在Windows中分隔符写成/也是可以的,程序能正常找到路径。

②工程路径、类路径:

可以使用System.getProperty("user.dir")来获取工程路径,或者在默认情况下,就是说new File("")就表示在工程路径下。

类路径,表示当前类的路径:

System.out.println(PathDemo.class.getResource("/").getPath());

System.out.println(PathDemo.class.getResource("").getPath());

这里用getPath可以获得类路径,当什么都不写时,就是PathDemo.class的当前类路径,当带上/时,就表示这是一个绝对路径,寻找到的是类路径的根目录。

③Java中/表示根目录,不管是在什么系统上。

④经常看到类似"resoueces/js/Myjs.js"这样的路径表示,这就表示一个相对路径。表示在当前目录下找resources目录,然后在resources目录下找js目录。

注意:一般情况下,当前路径是工程路径。

 

public class PathDemo {

    public PathDemo() {
    }

    public static void main(String[] args) throws IOException {
        File file = new File("resources/txt.txt");
        System.out.println(file.getPath());
        System.out.println(file.getAbsolutePath());
        System.out.println(file.getCanonicalFile());
        System.out.println(System.getProperty("user.dir"));
        
        System.out.println("-------------------------------------");
        File file2 = new File("./resources/txt2.txt");
        System.out.println(file2.getPath());
        System.out.println(file2.getAbsolutePath());
        System.out.println(file2.getCanonicalFile());
        System.out.println(System.getProperty("user.dir"));
        System.out.println("------------------------------------");
        File file3 = new File("");
        System.out.println(file3.getPath());
        System.out.println(file3.getAbsolutePath());
        System.out.println(file3.getCanonicalFile());
        System.out.println(System.getProperty("user.dir"));
        System.out.println("---------------------------------");
        System.out.println(PathDemo.class.getResource("").getPath());
        System.out.println(PathDemo.class.getResource("/").getPath());
        System.out.println("---------------------------------");
    }

}
resources\txt.txt
D:\workspace\java测试环境\java测试\resources\txt.txt
D:\workspace\java测试环境\java测试\resources\txt.txt
D:\workspace\java测试环境\java测试
-------------------------------------
.\resources\txt2.txt
D:\workspace\java测试环境\java测试\.\resources\txt2.txt
D:\workspace\java测试环境\java测试\resources\txt2.txt
D:\workspace\java测试环境\java测试
------------------------------------

D:\workspace\java测试环境\java测试
D:\workspace\java测试环境\java测试
D:\workspace\java测试环境\java测试
---------------------------------
/D:/workspace/java%e6%b5%8b%e8%af%95%e7%8e%af%e5%a2%83/java%e6%b5%8b%e8%af%95/bin/wuxin/path/
/D:/workspace/java%e6%b5%8b%e8%af%95%e7%8e%af%e5%a2%83/java%e6%b5%8b%e8%af%95/bin/
---------------------------------

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM