Java获取路径的6种方式代码示例

 更新时间:2025年02月19日 09:38:45   作者:西洼工作室  
在Java中获取路径的方法有多种,每种方法适用于不同的场景,这篇文章主要介绍了Java获取路径的6种方式,文中通过代码介绍的非常详细,需要的朋友可以参考下

public class Demo1 {
    public static void main(String[] args) {
        /*
        1.使用 System 属性
         */
        // 获取用户的主目录
        String userHome = System.getProperty("user.home");
        System.out.println("User Home: " + userHome);

        // 获取Java的安装目录
        String javaHome = System.getProperty("java.home");
        System.out.println("Java Home: " + javaHome);

        /*
         * 2.使用 ClassLoader 获取资源路径
         */
        // 获取类路径下的资源文件路径
        ClassLoader classLoader = Demo1.class.getClassLoader();
        URL resourceUrl = classLoader.getResource("config.properties");
        String resourcePath = resourceUrl != null ? resourceUrl.getPath() : null;
        System.out.println("Resource Path: " + resourcePath);

        /*
        3.使用 File 类
         */
        // 创建一个File对象
        File file = new File("example.txt");

        // 获取绝对路径
        String absolutePath = file.getAbsolutePath();
        System.out.println("Absolute Path: " + absolutePath);

        // 获取相对路径(相对于当前工作目录)
        String canonicalPath;
        try {
            canonicalPath = file.getCanonicalPath();
            System.out.println("Canonical Path: " + canonicalPath);
        } catch (IOException e) {
            e.printStackTrace();
        }

        // 获取父目录路径
        String parentPath = file.getParent();
        System.out.println("Parent Path: " + parentPath);


        /*
        4.使用 Paths 类(Java 7及以上)
         */
        // 获取当前工作目录
        Path currentDir = Paths.get(".").toAbsolutePath();
        System.out.println("Current Directory: " + currentDir);

        // 拼接路径
        Path filePath = Paths.get(currentDir.toString(), "example.txt");
        System.out.println("File Path: " + filePath);

        /*
        5.使用 URI
         */
        File file2 = new File("example.txt");
        URI uri = file2.toURI();
        String uriPath = uri.getPath();
        System.out.println("URI Path: " + uriPath);

        /*
        6. 获取当前执行文件的路径(Java应用)
         */
        String path = Demo1.class.getProtectionDomain().getCodeSource().getLocation().getPath();
        System.out.println("Executable Path: " + path);
    }
}

总结

到此这篇关于Java获取路径的6种方式的文章就介绍到这了,更多相关Java获取路径方式内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • mybatis中延迟加载Lazy策略的方法

    mybatis中延迟加载Lazy策略的方法

    这篇文章主要介绍了mybatis中延迟加载Lazy策略,需要的朋友可以参考下
    2018-06-06
  • Eclipse配置SVN的几种方法及使用详情

    Eclipse配置SVN的几种方法及使用详情

    这篇文章主要介绍了Eclipse配置SVN的几种方法及使用详情,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • 详谈Array和ArrayList的区别与联系

    详谈Array和ArrayList的区别与联系

    下面小编就为大家带来一篇详谈Array和ArrayList的区别与联系。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • Java代码重用之功能与上下文重用

    Java代码重用之功能与上下文重用

    代码重用通常使得程序开发更加快速,并使得 BUG 减少。一旦一段代码被封装和重用,那么只需要检查很少的一段代码即可确保程序的正确性。接下来通过本文给大家介绍Java代码重用之功能与上下文重用的相关知识,感兴趣的朋友跟随脚本之家小编一起学习吧
    2018-05-05
  • Java使用Spire.PDF for Java实现旋转PDF页面

    Java使用Spire.PDF for Java实现旋转PDF页面

    在日常的文档处理工作中,我们经常会遇到 PDF 页面方向不正确的问题,本文将深入探讨如何利用 Java 实现 PDF 页面的旋转操作,感兴趣的小伙伴可以了解下
    2025-09-09
  • RabbitMQ中的死信队列(Dead Letter Exchanges)详解

    RabbitMQ中的死信队列(Dead Letter Exchanges)详解

    这篇文章主要介绍了RabbitMQ中的死信队列(Dead Letter Exchanges)详解,当RabbitMQ出现死信,可能会导致业务逻辑错误,比如下订单后修改库存操作,在下单后因为某种原因,发送的消息未被签收,这时库存数据会出现不一致,需要的朋友可以参考下
    2023-12-12
  • 详解在idea 中使用Mybatis Generator逆向工程生成代码

    详解在idea 中使用Mybatis Generator逆向工程生成代码

    这篇文章主要介绍了在idea 中使用Mybatis Generator逆向工程生成代码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • java基础之Object类

    java基础之Object类

    这篇文章主要介绍了java基础之Object类 的相关资料,需要的朋友可以参考下
    2015-06-06
  • Java基础教程之基本类型数据类型、包装类及自动拆装箱

    Java基础教程之基本类型数据类型、包装类及自动拆装箱

    这篇文章主要给大家介绍了关于Java基础教程之基本类型数据类型、包装类及自动拆装箱的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-06-06
  • LIS 最长递增子序列 Java的简单实现

    LIS 最长递增子序列 Java的简单实现

    下面小编就为大家带来一篇LIS 最长递增子序列 Java的简单实现。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-09-09

最新评论