Heim  >  Artikel  >  Java  >  So schreiben Sie den Pfad einer Java-Datei in Java

So schreiben Sie den Pfad einer Java-Datei in Java

藏色散人
藏色散人Original
2020-04-11 09:57:432973Durchsuche

So schreiben Sie den Pfad einer Java-Datei in Java

Java Wie schreibe ich den Pfad, um die Java-Datei zu erhalten?

1. Java-Code zum Abrufen des aktuellen Pfads der Datei

Empfohlenes Tutorial: „Java Learning

//利用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 Die von File Get the current path bereitgestellten Funktionen

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

(1) Hinweis:

File.getCanonicalPath() und File.getAbsolutePath() gelten ungefähr nur für new File(".") und new File(".." ) Es gibt Unterschiede zwischen den beiden Pfaden.

Für die Funktion getCanonicalPath() steht „.“ für den aktuellen Ordner und „..“ für den übergeordneten Ordner des aktuellen Ordners.

Für die Funktion getAbsolutePath() geben Sie unabhängig von „.“, „..“ den aktuellen Pfad plus den Pfad zurück, den Sie in new File() festgelegt haben.

Wie für die Funktion getPath() , alles, was Sie erhalten, ist der Pfad, den Sie in new File() festgelegt haben.

(2) Wenn der aktuelle Pfad C:/test ist:

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()-Parameterliste

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. Holen Sie sich den Pfad in jsp

(1) Nehmen Sie den Projektnamen TEST als Beispiel

//得到包含工程名(工程名为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. Holen Sie sich den Pfad in Servlet

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

Das obige ist der detaillierte Inhalt vonSo schreiben Sie den Pfad einer Java-Datei in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn