首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

java 路径有关问题 整理

2012-12-24 
java 路径问题 整理最近整理了一下项目中可能需要用到的java路径问题,方便查阅。? ??/*** 获得工程根目录 *

java 路径问题 整理

最近整理了一下项目中可能需要用到的java路径问题,方便查阅。
? ?? /**

* 获得工程根目录 *windows下*/public static String getRootPath(){      String path = FileUtil.class.getResource("/../../").toString();      try {          path = java.net.URLDecoder.decode(path, "UTF-8");          path = path.replace("file:/", "");//注意这里          } catch (UnsupportedEncodingException e) {            e.printStackTrace();      }          return path;}
?


/***linux下**/public static String getRootPathLinux(){          String path = FileUtil.class.getResource("/../../").toString();        try {              path = java.net.URLDecoder.decode(path, "UTF-8");              path = path.replace("file:", "");//少了"/"             } catch (UnsupportedEncodingException e) {                  e.printStackTrace();             }          return path;}
?



*******************************************************************************************
system.out.println(System.getProperty("user.dir"));//user.dir指定了当前的路径
2、使用File提供的函数获取当前路径:
File directory = new File("");//设定为当前文件夹
try{
System.out.println(directory.getCanonicalPath());//获取标准的路径
System.out.println(directory.getAbsolutePath());//获取绝对路径
}catch(Exceptin e){}
File.getCanonicalPath()和File.getAbsolutePath()大约只是对于new File(".")和new File("..")两种路径有所区别。
# 对于getCanonicalPath()函数,“."就表示当前的文件夹,而”..“则表示当前文件夹的上一级文件夹
# 对于getAbsolutePath()函数,则不管”.”、“..”,返回当前的路径加上你在new File()时设定的路径
# 至于getPath()函数,得到的只是你在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(); //得到的是..

?

热点排行