java 获取当前路径
来源:互联网 发布:python sys.stdin用法 编辑:程序博客网 时间:2024/06/04 18:09
公司项目中,获取当前路径的方法是这样的:
C
- //当前的类名就是:GetFilePath
- public static String getFilePath(String fileName)
- {
- String path = GetFilePath.class.getResource("").toString();
- if (path != null)
- {
- path = path.substring(5, path.indexOf("WEB-INF") + 8);//如果是windwos将5变成6
- //System.out.println("current path :" + path);
- }
- return (path + fileName);
- }
个人感觉不是很好,部署到windows和linux下的时候还得重新设置路径。
于是使用了以下1号方法,但是奇怪的是1号方法在linux下路径不对
后来得知公司使用的方法得到的相对路径,而1号方法是得到绝对路径
没有更加详细的测试,以后继续研究。。。
以下是我从网上找的获取路径的方法:
1、利用System.getProperty()函数获取当前路径:
- System.out.println(System.getProperty("user.dir"));//user.dir指定了当前的路径
2、使用File提供的函数获取当前路径:
- File directory = new File("");//设定为当前文件夹
- try{
- System.out.println(directory.getCanonicalPath());//获取标准的路径
- System.out.println(directory.getAbsolutePath());//获取绝对路径
- }catch(Exceptin e){}
3.java web 项目中
jsp中:
- request.getContextPath()
- request.getSession().getServletContext().getRealPath()
servlet中:
- this.getServletContext().getRealPath("/");
- this.getServlet().getServletContext().getRealPath("/");
其他说明:
File.getCanonicalPath()和File.getAbsolutePath()大约只是对于new File(".")和new File("..")两种路径有所区别。
# 对于getCanonicalPath()函数,“."就表示当前的文件夹,而”..“则表示当前文件夹的上一级文件夹
# 对于getAbsolutePath()函数,则不管”.”、“..”,返回当前的路径加上你在new File()时设定的路径
# 至于getPath()函数,得到的只是你在new File()时设定的路径
比如当前的路径为 C:/test :
File directory = new File("abc");
directory.getCanonicalPath(); //得到的是C:/test/abc
directory.getAbsolutePath(); //得到的是C:/test/abc
direcotry.getPath(); //得到的是abc
File directory = new File(".");
directory.getCanonicalPath(); //得到的是C:/test
directory.getAbsolutePath(); //得到的是C:/test/.
direcotry.getPath(); //得到的是.
File directory = new File("..");
directory.getCanonicalPath(); //得到的是C:/
directory.getAbsolutePath(); //得到的是C:/test/..
direcotry.getPath(); //得到的是..
另外:System.getProperty()中的字符串参数如下:
System.getProperty()参数大全
# java.version Java Runtime Environment version
# java.vendor Java Runtime Environment vendor
# java.vendor.url Java vendor URL
# java.home Java installation directory
# java.vm.specification.version Java Virtual Machine specification version
# java.vm.specification.vendor Java Virtual Machine specification vendor
# java.vm.specification.name Java Virtual Machine specification name
# java.vm.version Java Virtual Machine implementation version
# java.vm.vendor Java Virtual Machine implementation vendor
# java.vm.name Java Virtual Machine implementation name
# java.specification.version Java Runtime Environment specification version
# java.specification.vendor Java Runtime Environment specification vendor
# java.specification.name Java Runtime Environment specification name
# java.class.version Java class format version number
# java.class.path Java class path
# java.library.path List of paths to search when loading libraries
# java.io.tmpdir Default temp file path
# java.compiler Name of JIT compiler to use
# java.ext.dirs Path of extension directory or directories
# os.name Operating system name
# os.arch Operating system architecture
# os.version Operating system version
# file.separator File separator ("/" on UNIX)
# path.separator Path separator (":" on UNIX)
# line.separator Line separator ("/n" on UNIX)
# user.name User's account name
# user.home User's home directory
# user.dir User's current working directory
- java获取当前路径
- java 获取当前路径
- java 获取当前路径
- java获取当前路径
- java获取当前路径
- java 获取当前路径
- java获取当前路径
- java 获取当前路径
- java获取当前路径
- java获取当前路径
- java 获取当前路径
- Java 获取当前路径
- java获取当前路径
- java获取当前路径
- java 获取当前路径:
- Java获取当前路径
- Java获取当前路径
- Java获取当前路径
- Android 之 ServiceManager与服务管理
- Setting Up Git Server Using Gitosis
- objective-c中的Singleton单例模式的完整实现示例
- email验证
- 用Java调用存储过程
- java 获取当前路径
- Ubuntu Telnet服务器与SSH服务器的配置
- java.lang.Comparable 接口
- 不安装Oracle客户端远程连接Orcale数据库
- TI文件系统制作,和在线烧写与更新
- 工作项目总结(五)之web开发
- SpringMVC、MyBatis实现的一个简单权限管理系统
- SSH密钥登录设置
- 使用Maven构建eclipse web工程