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 ...
随机推荐
- BZOJ 1636: [Usaco2007 Jan]Balanced Lineup
noip要来了,刷点基础水题. 题意: RMQ,给你N个数,Q个询问,每次查询[l,r]内,最大值减最小值是多少. 写的ST. 代码: #include<iostream> #includ ...
- 【技术贴】解决Mysql ERROR 1045 (28000): Access denied for
今天Mysql ERROR 1045 (28000): Access denied for user 'root'@'localhost' 肯定是密码不对了.那么重置一下密码吧. 打开 cmd 输入以 ...
- 需要插入子集的时候如何更新父级ID
场景模拟: 我们需要在不同的新闻站点中采集新闻信息, 所以需要在数据库中保存一个新闻站点表(Site) 一个新闻表(News) 两表之间的关系是 Site(1)-News(N) 数据库 ...
- 因为中国队赢了,再撸一下DJANGO的官方文档吧
对比一下,CBVS和FBVS,哪个方便? from django.shortcuts import render from django.http import Http404 from django ...
- UESTC 1425 Another LCIS
也是一个求最长连续单调区间的问题,不同于HDU 3308LCIS的是,单点更新变成了区间成段增加,没关系同样的方法可破之.由于是成段更新,所以比更新区间小的区间是最大连续区间长度是不变的,所以更新su ...
- 基于B/S模式的推送
基于B/S模式的推送 https://www.ibm.com/developerworks/cn/web/wa-lo-comet/ 传统模式的 Web 系统以客户端发出请求.服务器端响应的方式工作.这 ...
- bzoj2125 3047
仙人掌上的最短路,这里有详细的题解http://pan.baidu.com/s/1wzCpC我觉得讲的很清楚,不懂的见代码注释吧 type node=record po,next,num:longin ...
- Away3d 基础 1 ---对一个简单类的解释
转自:http://www.cnblogs.com/nooon/archive/2009/05/16/1458334.html 原英文地址: http://www.flashmagazine.com/ ...
- xamarin for vs2013
安装需求(下载的包及版本) 先安装VS2013 然后到官网下Xamarin,运行后会自动下载以下文件 这是下载的详细列表 jdk-6u39-windows-i586.exe(69.73M) Andro ...
- 对使命召唤OL游戏中队友能相互救治的动作设定的感慨
很偶然的在网吧看到有人在玩一个枪战游戏,场景特别真实特别吸引人,后来留意到是使命召唤OL.我使用QQ帐号(是腾讯代理)玩了一次,觉得游戏做的确实精致,子弹打击效果和人物被子弹击中的效果特别真实,大家可 ...