Java获取当前目录方法整理
假设项目路径是E:\Workspaces\MyProgram\FilePath
1.使用System.getProperty("user.dir"),获得项目的根路径,返回String:E:\Workspaces\MyProgram\FilePath
2.使用File对象提供的获取绝对路径的方法获取根路径,new File("").getAbsolutePath(),返回String:E:\Workspaces\MyProgram\FilePath
3.可以使用File对象获取标准路径的方法来控制:
1)new File("..").getCanonicalPath(),返回String:E:\Workspaces\MyProgram
2)new File(".").getCanonicalPath(),返回String:E:\Workspaces\MyProgram\FilePath
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 //用户的当前工作目录
Java获取当前目录方法整理的更多相关文章
- Java获取路径方法&相对路径读取xml文件方法
(1).request.getRealPath("/");//不推荐使用获取工程的根路径 (2).request.getRealPath(request.getRequestURI ...
- Linux Kernel中获取当前目录方法(undone)
目录 . 引言 . 基于进程内存镜像信息struct mm_struct获取struct path调用d_path()获取当前进程的"绝对路径" . 基于文件描述符(fd).tas ...
- java获取当前方法
1.获取当前方法堆栈,我们一般用 StackTraceElement[] stes = Thread.currentThread().getStackTrace(); 想要获取当前方法,切记不够灵活, ...
- C# 获取当前路径方法整理
https://www.cnblogs.com/tianma3798/p/6553863.html1. //获取包含清单的已加载文件的路径或 UNC 位置. public static string ...
- Java 获取年月日方法
package com.ob; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util ...
- java通用的方法整理
判断字符串是否为空 public static boolean IsEmpty(String str){ if (str == null){ return true; } if ("&quo ...
- java 获取当前方法的被调用信息(被那个方法那个类那一行调用)
public void testMethod(){ Test1 t1 = new Test1(); t1.my(); } public static void main(String[] args) ...
- JAVA文件中获取路径及WEB应用程序获取路径方法
JAVA文件中获取路径及WEB应用程序获取路径方法 1. 基本概念的理解 `绝对路径`:你应用上的文件或目录在硬盘上真正的路径,如:URL.物理路径 例如: c:/xyz/test.txt代表了tes ...
- java 获取路径的各种方法
(1).request.getRealPath("/");//不推荐使用获取工程的根路径 (2).request.getRealPath(request.getRequestURI ...
随机推荐
- csu 10月 月赛 J 题
Description CSU又到了一年中评奖学金的时候了……各大学霸都或多或少地拿到了各种奖学金(你们自己看着办吧). 在这里,评奖学金有个很奇怪的规矩——每个同学得到的奖学金数一定满足相邻的两个非 ...
- 【JavaScript】JavaScript函数的参数
要访问js函数中传入的所有参数,可以使用特殊的arguments变量.但是虽然可以像访问数组一样从arguments变量中读取参数,但arguments并非真正的数组.例如,arguments没有pu ...
- http://www.cnblogs.com/xdp-gacl/p/3951952.html
http://www.cnblogs.com/xdp-gacl/p/3951952.html http://www.cnblogs.com/kristain/articles/2409021.html
- delphi-json组件,速度非常快,要比superobject快好几倍
delphi-json组件,速度非常快,要比superobject快好几倍https://github.com/ahausladen/JsonDataObjectshttp://bbs.2ccc.co ...
- 【http】
var qs = require('querystring') require('http').createServer(function(req, res) { //res.writeHead(20 ...
- Flash加载网页内容
import flash.net.URLLoader; var m_loader:URLLoader = new URLLoader(); m_loader.addEventListener(Even ...
- HDU 5948 Thickest Burger 【模拟】 (2016ACM/ICPC亚洲区沈阳站)
Thickest Burger Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)T ...
- 判斷作業系統為 64bit 或 32bit z
有時我們在開發Windows 桌面應用程式時,會發生一些弔詭的事情,作業系統位元數就是一個蠻重要的小細節,若您寫的應用程式在Windows 的32bit 作業系統上可以完美的運行,但不見得在64bit ...
- [转]NHibernate之旅(10):探索父子(一对多)关联查询
本节内容 关联查询引入 一对多关联查询 1.原生SQL关联查询 2.HQL关联查询 3.Criteria API关联查询 结语 关联查询引入 在NHibernate中提供了三种查询方式给我们选择:NH ...
- 如何避免jQuery库和其他库的冲突
默认情形:jQuery用$作为自身的快捷方式 1. jQuery库在其他库之后导入 (1)方法:使用jQuery.noConflict()函数将变量$的控制权转移给其他库 (2)操作: (a)在js代 ...