JAVA获取当前路径的几种方法

来源:互联网 发布:淘宝手机店铺名片 编辑:程序博客网 时间:2024/05/17 18:45

转载地方:http://www.cnblogs.com/franson-2016/p/5728280.html

一.对于项目中路径设置

       对于JavaProject(项目名称)项目来说,开发和调试的根路径是d:\JavaProject(项目名称),可以使用System.getProperty("user.dir")方法获取当前用户的工作路径。

      例如:File imageFile=new File("/images/sample.gif");  ImageIcon imageIcon=new ImageIcon(imageFile.toURL); 

                  程序会寻找这个文件:d:\JavaProject\images\sample.gif

       修改代码采用以当前类为基准的路径指定方式。

            getClass().getResorce("/img/model.jpg");         查询文件路径 d:/JavaProject/bin/img/mdoel.jpg

            getClass().getResorce("img/model.jpg");          查询文件路径 d:/JavaProject/bin/packageName/img/mdoel.jpg      packageName就是类所在的包。

二.对于项目中常见路径设置的常见函数

      1.利用System.getProperty()函数获取当前路径        比如System.getProperty("user.dir"),user.dir指定了当前路径

      2.使用File提供的函数获取当前路径

                 * *对于getCanonicalPath()函数,"."表示当前路径    ".."表示当前文件夹的上一级文件夹

                 * *对于getAbsolutePath()函数,则不管"."和".."返回当前的当前路径

                 * *对于getPatn()函数,得到的是new File()时设定的路径

         举例:比如当前的路径为 C:/test : 
                                    File directory = new File("abc"); 
                                          directory.getCanonicalPath(); //得到的是C:/test/abc 
                                           directory.getAbsolutePath();    //得到的是C:/test/abc 
                                           direcotry.getPath();                    //得到的是abc 

                                    File directory = new File("."); 
                                            directory.getCanonicalPath(); //得到的是C:/test 
                                            directory.getAbsolutePath();    //得到的是C:/test/. 
                                             direcotry.getPath();                    //得到的是. 

                                   File directory = new File(".."); 
                                             directory.getCanonicalPath(); //得到的是C:/ 
                                             directory.getAbsolutePath();    //得到的是C:/test/.. 
                                             direcotry.getPath();                    //得到的是..

0 0