Ⅰ java中获取文件路径的几种方式
获取当前类的所在工程路径;如果未添加“/”,则代码如下:
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
以上介绍了五种获取文件路径的方法,每种方法都有其特点和适用场景。第一种方法适用于需要获取类所在目录的路径,但结果包含bin文件夹;第二种方法适用于获取文件系统中的绝对路径;第三种方法适用于获取类加载器资源的URL路径,结果包含文件协议;第四种方法获取当前工作目录,即工程根目录;第五种方法获取类路径,通常指向编译后的类文件所在的目录。
在实际开发中,根据具体需求选择合适的方法。例如,如果需要获取源代码文件的路径,可以使用第三种方法;如果需要获取编译后的类文件路径,则使用第五种方法更为合适。
需要注意的是,路径格式在Windows和Linux系统中可能存在差异,因此在跨平台项目中应谨慎使用这些方法。同时,建议在编写代码时考虑路径的可读性和安全性,避免硬编码路径。
在处理文件路径时,务必考虑文件系统的限制和特殊字符,确保路径的正确性和兼容性。此外,对于敏感文件和目录,应采取适当的访问控制措施,以防止意外访问或修改。
Ⅱ 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/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(); //得到的是.. 另外: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中获取路径 关键字: java中获取路径
1、jsp中取得路径:
以工程名为TEST为例:
(1)得到包含工程名的当前页面全路径:request.getRequestURI() 结果:/TEST/test.jsp (2)得到工程名:request.getContextPath() 结果:/TEST (3)得到当前页面所在目录下全名称:request.getServletPath() 结果:如果页面在jsp目录下 /TEST/jsp/test.jsp (4)得到页面所在服务器的全路径:application.getRealPath("页面.jsp") 结果:D:/resin/webapps/TEST/test.jsp (5)得到页面所在服务器的绝对路径:absPath=new java.io.File(application.getRealPath(request.getRequestURI())).getParent(); 结果:D:/resin/webapps/TEST
2、在类中取得路径: (1)类的绝对路径:Class.class.getClass().getResource("/").getPath() 结果:/D:/TEST/WebRoot/WEB-INF/classes/pack/ (2)得到工程的路径:System.getProperty("user.dir") 结果:D:/TEST