热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

java获取java文件的路径怎么写

java获取文件路径的方法:首先利用“System.getProperty()”函数获取当前路径;然后在类中取得类的绝对路径,代码为“System.out.println();”;最后使用“File”提供的函数获取当前路径即可。

java获取java文件的路径怎么写?

1、java代码获取文件当前路径

推荐教程:《java学习》

//利用System.getProperty()函数获取当前路径
System.out.println(System.setProperty("user.dir", "c:users"));
System.out.println(System.getProperty("user.dir"));//user.dir指定了当前的路径 
 
//在类中取得类的绝对路径
System.out.println(Class.class.getClass().getResource("/").getPath());
System.out.println(Thread.currentThread().getContextClassLoader().getResource("./").getPath());
System.out.println(Thread.currentThread().getContextClassLoader().getResource("").getPath());//ClassPath的绝对URI路径
System.out.println(Thread.currentThread().getContextClassLoader().getResource(".").getPath());//项目的绝对路径

2、使用File提供的函数获取当前路径

File directory = new File("");//设定为当前文件夹 
try{ 
  System.out.println(directory.getCanonicalPath());//获取标准的路径 
   System.out.println(directory.getAbsolutePath());//获取绝对路径
}catch(Exceptin e){
}

(1)注意:

  File.getCanonicalPath()和File.getAbsolutePath()大约只是对于new File(“.”)和new File(“..”)两种路径有所区别。

  对于getCanonicalPath()函数,“.”就表示当前的文件夹,而”..“则表示当前文件夹的上一级文件夹。

  对于getAbsolutePath()函数,则不管”.”、“..”,返回当前的路径加上你在new File()时设定的路径

至于getPath()函数,得到的只是你在new File()时设定的路径。

(2)如当前的路径为 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();   //得到的是..

(3) 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

3、在jsp中取得路径

(1)以项目名TEST为例

//得到包含工程名(工程名为TEST)的当前页面全路径:request.getRequestURI() 
结果:/TEST/test.jsp 
 
//得到工程名:request.getContextPath() 
结果:/TEST 
 
//得到当前页面所在目录下全名称:request.getServletPath() 
结果:如果页面在jsp目录下 /TEST/jsp/test.jsp 
 
//得到页面所在服务器的全路径:application.getRealPath("页面.jsp") 
结果:D:/resin/webapps/TEST/test.jsp 
 
//得到页面所在服务器的绝对路径:absPath=new java.io.File(application.getRealPath(request.getRequestURI())).getParent(); 
结果:D:/resin/webapps/TEST

4、在Servlet中获取路径

//得到工程目录:request.getSession().getServletContext().getRealPath("") 参数可具体到包名。 
结果:E:/Tomcat/webapps/TEST 
 
//得到url地址栏地址:request.getRequestURL() 
结果:http://localhost:8080/TEST/test 
 
//得到相对地址:request.getRequestURI() 
结果:/TEST/test

以上就是java获取java文件的路径怎么写的详细内容,更多请关注其它相关文章!


推荐阅读
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 本文总结了淘淘商城项目的功能和架构,并介绍了传统架构中遇到的session共享问题及解决方法。淘淘商城是一个综合性的B2C平台,类似京东商城、天猫商城,会员可以在商城浏览商品、下订单,管理员、运营可以在平台后台管理系统中管理商品、订单、会员等。商城的架构包括后台管理系统、前台系统、会员系统、订单系统、搜索系统和单点登录系统。在传统架构中,可以采用tomcat集群解决并发量高的问题,但由于session共享的限制,集群数量有限。本文探讨了如何解决session共享的问题。 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • MySQL语句大全:创建、授权、查询、修改等【MySQL】的使用方法详解
    本文详细介绍了MySQL语句的使用方法,包括创建用户、授权、查询、修改等操作。通过连接MySQL数据库,可以使用命令创建用户,并指定该用户在哪个主机上可以登录。同时,还可以设置用户的登录密码。通过本文,您可以全面了解MySQL语句的使用方法。 ... [详细]
  • 分享css中提升优先级属性!important的用法总结
    web前端|css教程css!importantweb前端-css教程本文分享css中提升优先级属性!important的用法总结微信门店展示源码,vscode如何管理站点,ubu ... [详细]
  • Servlet多用户登录时HttpSession会话信息覆盖问题的解决方案
    本文讨论了在Servlet多用户登录时可能出现的HttpSession会话信息覆盖问题,并提供了解决方案。通过分析JSESSIONID的作用机制和编码方式,我们可以得出每个HttpSession对象都是通过客户端发送的唯一JSESSIONID来识别的,因此无需担心会话信息被覆盖的问题。需要注意的是,本文讨论的是多个客户端级别上的多用户登录,而非同一个浏览器级别上的多用户登录。 ... [详细]
  • 开发笔记:spring boot项目打成war包部署到服务器的步骤与注意事项
    本文介绍了将spring boot项目打成war包并部署到服务器的步骤与注意事项。通过本文的学习,读者可以了解到如何将spring boot项目打包成war包,并成功地部署到服务器上。 ... [详细]
  • Tomcat/Jetty为何选择扩展线程池而不是使用JDK原生线程池?
    本文探讨了Tomcat和Jetty选择扩展线程池而不是使用JDK原生线程池的原因。通过比较IO密集型任务和CPU密集型任务的特点,解释了为何Tomcat和Jetty需要扩展线程池来提高并发度和任务处理速度。同时,介绍了JDK原生线程池的工作流程。 ... [详细]
  • 本文介绍了关于apache、phpmyadmin、mysql、php、emacs、path等知识点,以及如何搭建php环境。文章提供了详细的安装步骤和所需软件列表,希望能帮助读者解决与LAMP相关的技术问题。 ... [详细]
  • PHPMailer邮件类邮件发送功能的使用教学及注意事项
    本文介绍了使用国外开源码PHPMailer邮件类实现邮件发送功能的简单教学,同时提供了一些注意事项。文章涵盖了字符集设置、发送HTML格式邮件、群发邮件以及避免类的重定义等方面的内容。此外,还提供了一些与PHP相关的资源和服务,如传奇手游游戏源码下载、vscode字体调整、数据恢复、Ubuntu实验环境搭建、北京爬虫市场、进阶PHP和SEO人员需注意的内容。 ... [详细]
  • 标题: ... [详细]
  • 开发笔记:Java是如何读取和写入浏览器Cookies的
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Java是如何读取和写入浏览器Cookies的相关的知识,希望对你有一定的参考价值。首先我 ... [详细]
author-avatar
洪佳蓉名羽明德
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有