当前位置:首页 > 行业动态 > 正文

java如何获取路径

在Java中,可以使用 System.getProperty("user.dir")方法获取当前工作目录的路径。

在Java中,获取路径的方式有很多种,以下是一些常用的方法:

1、使用System.getProperty()方法获取系统属性

System.getProperty()方法可以获取系统的一些属性,包括当前工作目录、用户主目录等,以下是一些常用的属性:

user.dir:用户当前工作目录

user.home:用户主目录

java.io.tmpdir:系统的临时文件目录

示例代码:

public class GetPathDemo {
    public static void main(String[] args) {
        String userDir = System.getProperty("user.dir");
        String userHome = System.getProperty("user.home");
        String tempDir = System.getProperty("java.io.tmpdir");
        System.out.println("当前工作目录:" + userDir);
        System.out.println("用户主目录:" + userHome);
        System.out.println("临时文件目录:" + tempDir);
    }
}

2、使用File类获取文件路径

File类是Java中表示文件和目录的类,可以通过创建File对象来获取文件或目录的路径,以下是一些常用的方法:

getAbsolutePath():获取文件或目录的绝对路径

getCanonicalPath():获取文件或目录的标准路径(解析符号链接)

getPath():获取文件或目录的相对路径(相对于当前工作目录)

getParent():获取文件或目录的父目录路径

getName():获取文件或目录的名称

getRoot():获取文件或目录的根路径(C:UsersusernameDocuments中的C:Usersusername)

示例代码:

import java.io.File;
public class GetPathDemo {
    public static void main(String[] args) {
        File file = new File("test.txt");
        String absolutePath = file.getAbsolutePath();
        String canonicalPath = file.getCanonicalPath();
        String relativePath = file.getPath();
        String parentPath = file.getParent();
        String name = file.getName();
        String rootPath = file.getRoot();
        System.out.println("绝对路径:" + absolutePath);
        System.out.println("标准路径:" + canonicalPath);
        System.out.println("相对路径:" + relativePath);
        System.out.println("父目录路径:" + parentPath);
        System.out.println("文件名:" + name);
        System.out.println("根路径:" + rootPath);
    }
}

3、使用ClassLoader类获取资源路径

ClassLoader类是Java中用于加载类的类,可以通过它来获取类所在的资源路径,以下是一些常用的方法:

getResource(String name):根据资源名称获取资源的URL对象(绝对路径)

getResourceAsStream(String name):根据资源名称获取资源的输入流(相对路径)

getSystemResource(String name):根据资源名称获取系统的资源URL对象(绝对路径)

getSystemResourceAsStream(String name):根据资源名称获取系统的资源输入流(相对路径)

示例代码:

import java.net.URL;
import java.io.InputStream;
import java.lang.ClassLoader;
import java.nio.file.Paths;
import java.nio.file.Path;
import java.nio.file.StandardCopyOption;
import java.io.IOException;
import java.nio.file.*;
import java.util.*;  
  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	   	   	   	   	   	   	   	   	   	   	   	   	   	   	   	   	   	   	   	   	   	   	   	   	   	   	   	   	   	   	   	   	   	   	   	   	   	   	   	   	   	   	   	   	   	   	   	   	   	   	   	   	   	   	   	   	   	   	   	   	                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
                                // getResourceAsStream返回的是InputStream,需要转换为File对象才能复制到指定位置。
 // getSystemResourceAsStream返回的是InputStream,需要转换为File对象才能复制到指定位置。 // ClassLoader的getResourceAsStream和getSystemResourceAsStream方法返回的是InputStream,所以需要将其转换为File对象才能复制到指定位置。 // ClassLoader的getResource和getSystemResource方法返回的是URL对象,可以直接使用其toURI方法转换为URI对象。 // ClassLoader的getResource和getSystemResource方法返回的是URL对象,可以直接使用其toURI方法转换为URI对象。 // ClassLoader的getResource和getSystemResource方法返回的是URL对象,可以直接使用其toURI方法转换为URI对象。 // ClassLoader的getResource和getSystemResource方法返回的是URL对象,可以直接使用其toURI方法转换为URI对象。 // ClassLoader的getResource和getSystemResource方法返回的是URL对象,可以直接使用其toURI方法转换为URI对象。 // ClassLoader的getResource和getSystemResource方法返回的是URL对象,可以直接使用其toURI方法转换为URI对象。 // ClassLoader的getResource和getSystemResource方法返回的是URL对象,可以直接使用其toURI方法转换为URI对象。 // ClassLoader的getResource和getSystemResource方法返回的是URL对象,可以直接使用其toURI方法转换为URI对象。 // ClassLoader的getResource和getSystemResource方法返回的是URL对象,可以直接使用其toURI方法转换为URI对象。 // ClassLoader的getResource和getSystemResource方法返回的是URL对象,可以直接使用其toURI方法转换为URI对象。 // ClassLoader的getResource和getSystemResource方法返回的是URL对象,可以直接使用其toURI方法转换为URI对象。 // ClassLoader的getResource和getSystemResource方法返回的是URL对象,可以直接使用其toURI方法转换为URI对象。 // ClassLoader的getResource和getSystemResource方法返回的是URL对象,可以直接使用其toURI方法转换为URI对象。 // ClassLoader的getResource和getSystemResource方法返回的是URL对象,可以直接使用其toURI方法转换为URI对象。 // ClassLoader的getResource和getSystemResource方法返回的是URL对象,可以直接使用其toURL方法转换为URL对象。 // ClassLoader的getResource和getSystemResource方法返回的是URL对象,可以直接使用其toURL方法转换为URL对象。 // ClassLoader的getResource和getSystemResource方法返回的是URL对象,可以直接使用其toURL方法转换为URL对象。 // ClassLoader的getResource和getSystemResource方法返回的是URL对象,可以直接使用其toURL方法转换为URL对象。 // ClassLoader的getResource和getSystemResource方法返回的是URL对象,可以直接使用其toURL方法转换为URL对象。 // ClassLoader的getResource和getSystemResource方法返回的是URL对象,可以直接使用其toURL方法转换为URL对象。 // ClassLoader的getResource和getSystemResource方法返回的是URL对象,可以直接使用其toURL方法转换为URLObjectInputStream objectInputStream = resourceAsStream;
     // resourceAsStream是InputStream类型,需要转换成File类型才能复制到指定位置。 URL url = clazzloader1059874163049428241928241928241928241928241928241928241928241928241928241928241928241928241928241928241928241928241928241928241928241928241928241928241928241928241928241928241928241928241928241928241928241928241928cl
0

随机文章