zoukankan      html  css  js  c++  java
  • Java获取当前目录方法整理

    假设项目路径是E:WorkspacesMyProgramFilePath

    1.使用System.getProperty("user.dir"),获得项目的根路径,返回String:E:WorkspacesMyProgramFilePath

    2.使用File对象提供的获取绝对路径的方法获取根路径,new File("").getAbsolutePath(),返回String:E:WorkspacesMyProgramFilePath

    3.可以使用File对象获取标准路径的方法来控制:
    1)new File("..").getCanonicalPath(),返回String:E:WorkspacesMyProgram

    2)new File(".").getCanonicalPath(),返回String:E:WorkspacesMyProgramFilePath

    4.使用class对象的getResource()方法获得bin目录,getClass().getResource(""),返回URL对象:file:/E:/Workspaces/MyProgram/FilePath/bin/

    5. 使用ClassLoader对象的getResource()方法获得bin目录,getClass().getClassLoader().getResource(""),返回URL对象:file:/E: /Workspaces/MyProgram/FilePath/bin/
    建议:
    1.对于要获得的目录不在bin目录下的操作,可以使用1、2、3方式获得根目录,然后具体处理。

    2. 对于规范的项目结构包含src/main/resources目录,资源文件一般放置于此,即bin目录下,可以使用4、5两种方法,另外这两种方法可以直接读取文件为InputStream可以直接进行使用,即getResourceAsStream(name)方法。

    另外:System.getProperty()中的字符串参数如下:

    java.version            //Java 运行时环境版本
    java.vendor            //Java 运行时环境供应商
    java.vendor.url            //Java 供应商的 URL
    java.home            //Java 安装目录
    java.vm.specification.version    //Java 虚拟机规范版本
    java.vm.specification.vendor    //Java 虚拟机规范供应商
    java.vm.specification.name    //Java 虚拟机规范名称
    java.vm.version            //Java 虚拟机实现版本
    java.vm.vendor            //Java 虚拟机实现供应商
    java.vm.name            //Java 虚拟机实现名称
    java.specification.version    //Java 运行时环境规范版本
    java.specification.vendor    //Java 运行时环境规范供应商
    java.specification.name        //Java 运行时环境规范名称
    java.class.version        //Java 类格式版本号
    java.class.path            //Java 类路径
    java.library.path        //加载库时搜索的路径列表
    java.io.tmpdir            //默认的临时文件路径
    java.compiler            //要使用的 JIT 编译器的名称
    java.ext.dirs            //一个或多个扩展目录的路径
    os.name                //操作系统的名称
    os.arch                //操作系统的架构
    os.version            //操作系统的版本
    file.separator            //文件分隔符(在 UNIX 系统中是“/”)
    path.separator            //路径分隔符(在 UNIX 系统中是“:”)
    line.separator            //行分隔符(在 UNIX 系统中是“/n”)
    user.name            //用户的账户名称
    user.home            //用户的主目录
    user.dir            //用户的当前工作目录
  • 相关阅读:
    hihoCoder 1148 2月29日
    Java 之常用运算符(3)
    Java 之变量和常量(2)
    Codeforces Round #414 A. Bank Robbery
    Codeforces Round #413 B. T-shirt buying
    C++中 set(集合容器)的用法
    Codeforces Round #411 B. 3-palindrome
    Codeforces Round #411 A. Fake NP
    Codeforces Round #413 A. Carrot Cakes
    Codeforces Round #412 B. T-Shirt Hunt
  • 原文地址:https://www.cnblogs.com/cRaZy-TyKeIo/p/3728472.html
Copyright © 2011-2022 走看看