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 ...
随机推荐
- 【技术贴】webservice 调用 Transport error : 401 Error:Una
解决 webservice 调用之后报错:调用异常:Transport error : 401 Error:Unauthorized 授权失败. 加入如下代码 //Sap需要ws-security的认 ...
- 运行 Docker 容器时的安全风险:别丢了你的套接字
我们都遇到过这种情况:你只是想尝试一段命令行,但安装进程却如同抵押贷款申请那般繁琐.如果不是强制要求完成这么多步骤,你的开发环境会被永远不会再使用的库弄乱.自然, Docker 来了以后,你惊异地发现 ...
- SessionId
http://www.codeweblog.com/session-cookie-jsessionid-url-rewriting/
- [wikioi]没有上司的舞会
树形DP.用F[k][0]和F[k][1]表示某节点不选和选了之后子树的最大值.那么:f[i][0]=sigma(max(f[k][0],f[k][1]))f[i][1]=sigma(f[k][0]) ...
- find big file
#!/bin/bash #command usage description function usage() { echo -e "Usage:nt$0 DIR_NAME" ex ...
- 在linux系统下怎么安装两个nginx
在linux下安装nginx的时候,一般在./configure的阶段会要求通过prefix设置安装路径.因此,在./configure的时候指定不同的prefix就可以安装多个nginx啦. 值得注 ...
- statspack系列5
原文:http://jonathanlewis.wordpress.com/2006/12/27/analysing-statspack-5/ 作者:Jonathan Lewis 前些天,有人给我发了 ...
- WebView loadData出错(奇怪的设计)
今天遇到一个奇怪的问题. 我使用WebView加载一个网页. 方法1. 直接使用 loadUrl() 方法,没有问题.完全可以.方法2. 使用loadData()方法,出现问题,无法显示.方法3. ...
- Oracle SQL编写注意事项
1.SQL语句用大写的;因为Oracle总是先解析SQL语句,把小写的字母转换成大写的再执行. 2.数据表最好起别名;因为便于sql优化器快速分析. 3.尽量不要使用 insert into tabl ...
- tomcat web容器中,调用jersey client端报错的处理
在web工程中,写main方法,运行ok. 发布到tomcat中后,报错. javax.ws.rs.core.UriBuilder.uri(Ljava/lang/String;)Ljavax/ws/r ...