我是靠谱客的博主 唠叨水池,最近开发中收集的这篇文章主要介绍java获取java文件的路径怎么写,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

java获取java文件的路径怎么写?

1、java代码获取文件当前路径

推荐教程:《java学习》

//利用System.getProperty()函数获取当前路径
System.out.println(System.setProperty("user.dir", "c:users"));
System.out.println(System.getProperty("user.dir"));//user.dir指定了当前的路径 
 
//在类中取得类的绝对路径
System.out.println(Class.class.getClass().getResource("/").getPath());
System.out.println(Thread.currentThread().getContextClassLoader().getResource("./").getPath());
System.out.println(Thread.currentThread().getContextClassLoader().getResource("").getPath());//ClassPath的绝对URI路径
System.out.println(Thread.currentThread().getContextClassLoader().getResource(".").getPath());//项目的绝对路径
登录后复制

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

File directory = new File("");//设定为当前文件夹 
try{ 
  System.out.println(directory.getCanonicalPath());//获取标准的路径 
   System.out.println(directory.getAbsolutePath());//获取绝对路径
}catch(Exceptin e){
}
登录后复制

(1)注意:

  File.getCanonicalPath()和File.getAbsolutePath()大约只是对于new File(“.”)和new File(“..”)两种路径有所区别。

  对于getCanonicalPath()函数,“.”就表示当前的文件夹,而”..“则表示当前文件夹的上一级文件夹。

  对于getAbsolutePath()函数,则不管”.”、“..”,返回当前的路径加上你在new File()时设定的路径

至于getPath()函数,得到的只是你在new File()时设定的路径。

(2)如当前的路径为 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();   //得到的是..
登录后复制

(3) 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
登录后复制

3、在jsp中取得路径

(1)以项目名TEST为例

//得到包含工程名(工程名为TEST)的当前页面全路径:request.getRequestURI() 
结果:/TEST/test.jsp 
 
//得到工程名:request.getContextPath() 
结果:/TEST 
 
//得到当前页面所在目录下全名称:request.getServletPath() 
结果:如果页面在jsp目录下 /TEST/jsp/test.jsp 
 
//得到页面所在服务器的全路径:application.getRealPath("页面.jsp") 
结果:D:/resin/webapps/TEST/test.jsp 
 
//得到页面所在服务器的绝对路径:absPath=new java.io.File(application.getRealPath(request.getRequestURI())).getParent(); 
结果:D:/resin/webapps/TEST
登录后复制

4、在Servlet中获取路径

//得到工程目录:request.getSession().getServletContext().getRealPath("") 参数可具体到包名。 
结果:E:/Tomcat/webapps/TEST 
 
//得到url地址栏地址:request.getRequestURL() 
结果:http://localhost:8080/TEST/test 
 
//得到相对地址:request.getRequestURI() 
结果:/TEST/test
登录后复制

以上就是java获取java文件的路径怎么写的详细内容,更多请关注靠谱客其它相关文章!

最后

以上就是唠叨水池为你收集整理的java获取java文件的路径怎么写的全部内容,希望文章能够帮你解决java获取java文件的路径怎么写所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(73)

评论列表共有 0 条评论

立即
投稿
返回
顶部