首页 > 编程语言 >Java各种路径和参数

Java各种路径和参数

时间:2023-06-09 10:07:51浏览次数:32  
标签:Java 虚拟机 路径 绝对路径 version 参数 java


1.JSP中获得当前应用的相对路径和绝对路径:
根目录所对应的绝对路径:request.getRequestURI()
文件的绝对路径:application.getRealPath(request.getRequestURI());
当前web应用的绝对路径 :application.getRealPath("/");
取得请求文件的上层目录:new File(application.getRealPath(request.getRequestURI())).getParent();

2.Servlet中获得当前应用的相对路径和绝对路径
根目录所对应的绝对路径:request.getServletPath();
文件的绝对路径:request.getSession().getServletContext().getRealPath
(request.getRequestURI());  
当前web应用的绝对路径 :servletConfig.getServletContext().getRealPath("/");
ServletContext对象获得几种方式:
       Javax.servlet.http.HttpSession.getServletContext()
       Javax.servlet.jsp.PageContext.getServletContext()
       Javax.servlet.ServletConfig.getServletContext()

3.获取当前class所处的jar包路径:


Java代码URL uri = clazz.getProtectionDomain().getCodeSource().getLocation();
String path = uri.getPath();
File jarFile = new File(path);



4.windows下获取桌面文件夹:

Java代码FileSystemView fileSystemView =FileSystemView.getFileSystemView();File[] desktops = fileSystemView.getRoots();





5.获取我的文档:


Java代码FileSystemView fileSystemView =FileSystemView.getFileSystemView();
File f = fileSystemView.getDefaultDirectory();



上面两个方案,在vista下无效,因为vista的桌面、我的文档路径跟xp,2000不一样。

6.服务器中的Java类获得当前路径
(1)Weblogic
WebApplication的系统文件根目录是weblogic安装所在根目录
例如:如果你的weblogic安装在c:\bea\weblogic700.....
那么,你的文件根路径就是c:\.
所以,有两种方式能够让你访问你的服务器端的文件:
a.使用绝对路径:
比如将你的参数文件放在c:\yourconfig\yourconf.properties,
直接使用 new FileInputStream("yourconfig/yourconf.properties");
b.使用相对路径:
相对路径的根目录就是你的webapplication的根路径,即WEB-INF的上一级目录,将你的参数文件放在yourwebapp\yourconfig\yourconf.properties,
这样使用:
new FileInputStream("./yourconfig/yourconf.properties");
这两种方式均可,自己选择。

(2)Tomcat
在类中输出System.getProperty("user.dir");显示的是%Tomcat_Home%/bin

7.获取执行文件当前路径:


Java代码String dir = System.getProperty("user.dir");



通过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,虚拟机,路径,绝对路径,version,参数,java
From: https://blog.51cto.com/u_16065168/6445452

相关文章

  • Java利用xml将大批量数据导出到excel的一个方法
    笔者在Java开发中常常会遇到将数据库数据导出到Excel的要求,比如在我的一个项目中,客户要求所有查询结果都可以导出到Excel,对于数据量不大的(几万条),这比较容易实现,但对于数据量比较大的(几十万及以上,具体要看导出内容的字段个数和长短),则在数据库查询和生成excel文件上都会有麻烦。......
  • [从jQuery看JavaScript]-变量与作用域链(Variable and Scope Chain)
    jQuery片段: 1.var2.//Willspeedupreferencestowindow,andallowsmungingitsname.3.window=this,4.//Willspeedupreferencestoundefined,andallowsmungingitsname.5.undefined,6.//MapoverjQueryinc......
  • 如何设置Java开发环境
    如果您是Java开发人员,那么设置高效的Java开发环境是关键。它有助于简化您的编码过程并提高您的工作效率。在本文中,我将带您完成设置Java开发环境所需的重要步骤。我们将介绍如何安装Java开发工具包(JDK)、集成开发环境(IDE)以及配置必要的工具和库。让我们开始吧!(更多......
  • 面试官:你会哪些JVM调优参数?
    你好,我是田哥。上周一位朋友去面试被问到JVM参数,本文咱们就来聊聊。面试造火箭.......,我们很多人干了三、五年的Java开发,其实压根儿没使用过JVM调优参数。但是,面试官可不管你有没有用过,面试官心里想的是“这问题回答不出来,证明你很lowB,还想要那么高的薪资,没门”。话不多说,我们开始......
  • 【Java技术专题】「Guava开发指南」手把手教你如何进行使用Guava工具箱进行开发系统实
    Guava中的Preconditions(前置条件判断)Preconditions(前置条件):让方法调用的前置条件判断更简单。Guava在Preconditions类中提供了若干前置条件判断的实用方法,我们强烈建议在Eclipse中静态导入这些方法。每个方法都有三个变种:当方法没有额外参数时,抛出的异常中不包含错误消息,这会使......
  • Java Kafka简单地将Map对象序列化为json
    最近用到kafka,想简单地把Map对象序列化为json发送到主题,直接用string序列化,生成的结果不是json,虽然格式很像,key都没有引号,可能是直接调用的toString方法。但是网上搜了一圈,都是spring组合或者其他不太简单的方案。在哔站看了一段视频受到启发,就实现了一个自定义json序列化类,......
  • 【Java查漏补缺(一)】数组与循环
    除了数组与循环,还有方法,讲究看吧!后续练习内容都是连贯的!BasicalJava看下Java中的变量类型吧!数据类型关键字内存占用二进制位数字节型byte1个字节4位短整型short2个字节8位整型int(常用)4个字节32位长整型long8个字节64位单精度浮点数float......
  • Java_Collections.EMPTY_LIST
     1.背景在某些情况下,我们经常需要发挥一个空的集合对象,比如说在数据查询时,并不需要发挥一个NULL或是异常,那么就可以返回一个空的集合对象。如果你想new一个空的List,而这个List以后也不会再添加元素,那么就用Collections#emptyList()好了。newArrayList()或者newLinked......
  • Java_Timer
     Java_Timer ava.util.Timer是一个实用工具类,该类用来调度一个线程,使它可以在将来某一时刻执行。Java的Timer类可以调度一个任务运行一次,或定期运行。 java.util.TimerTask是一个抽象类,它实现了Runnable接口。我们需要扩展该类以便创建自己的TimerTask,这个TimerTask内部使用jav......
  • 02-MyBatis-CRUD-配置文件、参数封装、mybatisX插件、动态sql, 简单的用注解开发
    文章目录MybatisCRUD练习1,配置文件实现CRUD1.1环境准备Debug01:别名mybatisx报错1.2查询所有数据1.2.1编写接口方法1.2.2编写SQL语句1.2.3编写测试方法1.2.4起别名解决上述问题1.2.5使用resultMap解决上述问题1.2.6小结1.3查询详情1.3.1编写接口方法1.3.2编写SQL语句......