这几天一直在搞Java,模板引擎系列和程序猿执业修养系列都暂停了,在Java上忙的不亦乐乎!由于对Java还不太熟悉,经历了各种纠结终于完成了任务。以下是关于Java获取当前目录的方法的备忘录。
原文地址:
1、利用System.getProperty()函数获取当前路径:
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\abcdirectory.getAbsolutePath(); //得到的是C:\test\abcdirecotry.getPath(); //得到的是abcFile directory = new File(".");directory.getCanonicalPath(); //得到的是C:\testdirectory.getAbsolutePath(); //得到的是C:\test\.direcotry.getPath(); //得到的是.File directory = new File("..");directory.getCanonicalPath(); //得到的是C:\directory.getAbsolutePath(); //得到的是C:\test\..direcotry.getPath(); //得到的是..另外:System.getProperty()中的字符串参数如下:System.getProperty()参数大全# java.version Java Runtime Environment version # java.vendor Java Runtime Environment vendor # java.vendor.url Java vendor URL # java.home Java installation directory # java.vm.specification.version Java Virtual Machine specification version # java.vm.specification.vendor Java Virtual Machine specification vendor # java.vm.specification.name Java Virtual Machine specification name # java.vm.version Java Virtual Machine implementation version # java.vm.vendor Java Virtual Machine implementation vendor # java.vm.name Java Virtual Machine implementation name # java.specification.version Java Runtime Environment specification version # java.specification.vendor Java Runtime Environment specification vendor # java.specification.name Java Runtime Environment specification name # java.class.version Java class format version number # java.class.path Java class path # java.library.path List of paths to search when loading libraries # java.io.tmpdir Default temp file path # java.compiler Name of JIT compiler to use # java.ext.dirs Path of extension directory or directories # os.name Operating system name # os.arch Operating system architecture # os.version Operating system version # file.separator File separator ("/" on UNIX) # path.separator Path separator (":" on UNIX) # line.separator Line separator ("\n" on UNIX) # user.name User's account name # user.home User's home directory # user.dir User's current working directory
java获得当前文件路径:
第一种:
File f = new File(this.getClass().getResource("/").getPath()); System.out.println(f); 结果: C:\Documents%20and%20Settings\Administrator\workspace\projectName\bin 获取当前类的所在工程路径; 如果不加“/” File f = new File(this.getClass().getResource("").getPath()); System.out.println(f); 结果: C:\Documents%20and%20Settings\Administrator\workspace\projectName\bin\com\test 获取当前类的绝对路径;第二种:
File directory = new File("");//参数为空 String courseFile = directory.getCanonicalPath() ; System.out.println(courseFile); 结果: C:\Documents and Settings\Administrator\workspace\projectName 获取当前类的所在工程路径;第三种:
URL xmlpath = this.getClass().getClassLoader().getResource("selected.txt"); System.out.println(xmlpath); 结果: file:/C:/Documents%20and%20Settings/Administrator/workspace/projectName/bin/selected.txt 获取当前工程src目录下selected.txt文件的路径第四种:
System.out.println(System.getProperty("user.dir")); 结果: C:\Documents and Settings\Administrator\workspace\projectName 获取当前工程路径第五种:
System.out.println( System.getProperty("java.class.path")); 结果: C:\Documents and Settings\Administrator\workspace\projectName\bin 获取当前工程路径