精华内容
下载资源
问答
  • public class GetPath extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {//第1种:获取服务器二进制命令路径String path1 = ...

    示例代码如下:

    public class GetPath extends HttpServlet {

    @Override

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {

    //第1种:获取服务器二进制命令路径

    String path1 = new File("").getCanonicalPath();

    System.out.println("path1:" + path1);

    //第2种:获取服务器二进制命令路径

    String path2 = System.getProperty("user.dir");

    System.out.println("path2:" + path2);

    //第3种:获取项目的根目录

    String path3 = getServletContext().getRealPath("");

    System.out.println("path3:" + path3);

    //第4种:获取项目的根目录,但Servlet2.1以后已过期

    String path4 = request.getRealPath("");

    System.out.println("path4:" + path4);

    //第5种:获取类加载的根路径

    String path5 = Thread.currentThread().getContextClassLoader().getResource("").getPath();

    System.out.println("path5:" + path5);

    //第6种:获取类加载的根路径

    String path6 = this.getClass().getClassLoader().getResource("").getPath();

    System.out.println("path6:" + path6);

    //第7种:获取类加载的根路径

    String path7 = this.getClass().getResource("/").getPath();

    System.out.println("path7:" + path7);

    //第8种:获取当前类的路径

    String path8 = this.getClass().getResource("").getPath();

    System.out.println("path8:" + path8);

    }

    }

    运行结果:

    path1:D:\java\apache-tomcat-8.5.37\bin

    path2:D:\java\apache-tomcat-8.5.37\bin

    path3:D:\ROOT\

    path4:D:\ROOT\

    path5:/D:/ROOT/WEB-INF/classes/

    path6:/D:/ROOT/WEB-INF/classes/

    path7:/D:/ROOT/WEB-INF/classes/

    path8:/D:/ROOT/WEB-INF/classes/com/gqzzw/

    展开全文
  • java获得项目绝对路径

    2021-08-13 05:35:41
    在jsp里,根目录是WebRoot 在class文件中,根目录是WebRoot/WEB-INF/classes 当然你也可以用System.getProperty("user.dir")获取你工程的绝对路径。1.jsp中取得路径:以工程名为TEST为例:(1)得到包含工程名的当前...

    在jsp和class文件中调用的相对路径不同。

    在jsp里,根目录是WebRoot 在class文件中,根目录是WebRoot/WEB-INF/classes 当然你也可以用System.getProperty("user.dir")获取你工程的绝对路径。

    1.jsp中取得路径:以工程名为TEST为例:

    (1)得到包含工程名的当前页面全路径:request.getRequestURI()

    结果:/TEST/test.jsp

    (2)得到工程名:request.getContextPath()

    结果:/TEST

    (3)得到当前页面所在目录下全名称:request.getServletPath()

    结果:如果页面在jsp目录下 /TEST/jsp/test.jsp

    (4)得到页面所在服务器的全路径:application.getRealPath("页面.jsp")

    结果:D:\resin\webapps\TEST\test.jsp

    (5)得到页面所在服务器的绝对路径:absPath=new java.io.File(application.getRealPath(request.getRequestURI())).getParent();

    结果:D:\resin\webapps\TEST

    2.在类中取得路径:(1)类的绝对路径:Class.class.getClass().getResource("/").getPath()

    结果:/D:/TEST/WebRoot/WEB-INF/classes/pack/

    (2)得到工程的路径:System.getProperty("user.dir")

    结果:D:\TEST

    3.在Servlet中取得路径:(1)得到工程目录:request.getSession().getServletContext().getRealPath("") 参数可具体到包名。

    结果:E:\Tomcat\webapps\TEST

    (2)得到IE地址栏地址:request.getRequestURL()

    结果:http://localhost:8080/TEST/test

    (3)得到相对地址:request.getRequestURI()

    结果:/TEST/test

    另,Class类还有一个getResourceAsStream方法,记得以前有个项目要读取在同一个包内的一个xml,就用的这个。

    1.如何获得当前文件路径

    常用:

    (1).Test.class.getResource("")

    得到的是当前类FileTest.class文件的URI目录。不包括自己!

    (2).Test.class.getResource("/")

    得到的是当前的classpath的绝对URI。

    (3).Thread.currentThread().getContextClassLoader().getResource("")

    得到的也是当前ClassPath的绝对URI。

    (4).Test.class.getClassLoader().getResource("")

    得到的也是当前ClassPath的绝对URI。

    (5).ClassLoader.getSystemResource("")

    得到的也是当前ClassPath的绝对URI。

    尽量不要使用相对于System.getProperty("user.dir")当前用户目录的相对路径,后面可以看出得出结果五花八门。

    (6) new File("").getAbsolutePath()也可用。

    注:若这些路径中出现空格,并且空格被%20代替,则可以使用path = java.net.URLDecoder.decode(path,"utf-8") 进行转化;

    2.Web服务器

    (1).Tomcat

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

    (2).Resin

    不是你的JSP放的相对路径,是JSP引擎执行这个JSP编译成Servlet的路径为根.比如用新建文件法测试File f = new File("a.htm");

    这个a.htm在resin的安装目录下

    (3).如何读文件

    使用ServletContext.getResourceAsStream()就可以

    (4).获得文件真实路径

    String   file_real_path=ServletContext.getRealPath("mypath/filename");

    不建议使用request.getRealPath("/");

    转http://blog.csdn.net/rogerjava/article/details/7568466

    java读取项目根路径下和任意磁盘位置下的properties文件

    1.读取项目根路径下的properties文件比较简单也是比较常见的一种操作. 具体代码如下: package com.xuanen.util; import java.util.Properties ...

    获取JAVA[WEB]项目相关路径的几种方法

    在jsp和class文件中调用的相对路径不同. 在jsp里,根目录是WebRoot 在class文件中,根目录是WebRoot/WEB-INF/classes 当然你也可以用System.getPro ...

    对Java Web项目中路径的理解

    第一个:文件分隔符 坑比Window.window分隔符 用\;unix采用/.于是用File.separator来跨平台 请注意:这是文件路径.在File f = new File(“c:\\hah ...

    [转]获取JAVA[WEB]项目相关路径的几种方法

    http://blog.csdn.net/yaerfeng/article/details/7297479/ 在jsp和class文件中调用的相对路径不同. 在jsp里,根目录是WebRoot 在cl ...

    相对路径和绝对路径的区别,java获取项目访问路径的方法

    相对路径和绝对路径的区别 在HTML里只要涉及文件的地方(如超级链接.图片等)就会涉及绝对路径与相对路径的概念. .绝对路径 绝对路径是指文件在硬盘上真正存在的路径.例如“bg.jpg”这个图片是存放 ...

    java 获取项目绝对路径

    String classPath = Thread.currentThread().getContextClassLoader().getResource("").getPath( ...

    JAVA WEB项目中各种路径的获取

    JAVA WEB项目中各种路径的获取 标签: java webpath文件路径 2014-02-14 15:04 1746人阅读 评论(0) 收藏 举报  分类: JAVA开发(41)  1.可以在s ...

    【转】Java Web 项目获取运行时路径 classpath

    Java Web 项目获取运行时路径 classpath 假设资源文件放在maven工程的 src/main/resources 资源文件夹下,源码文件放在 src/main/java/下, 那么ja ...

    使用Maven构建Java Web项目时,关于jsp中引入js、css文件路径问题。

    今天有点闲,自己动手搭建一个Java Web项目,遇到jsp中引入js.css文件时路径不正确的问题,于是在网上查阅了很多资料,最终都无法解决问题,于是,上stackoverflow找到了解决方法,这 ...

    随机推荐

    MySQL 远程连接(federated存储引擎)

    标签:federated存储引擎 概述 本文主要介绍通过federated存储引擎建立远程连接表 测试环境:mysql 5.6.21 步骤 开启federated存储引擎 先查看federated存储 ...

    监听器初始化Job、JobTracker相应TaskTracker心跳、调度器分配task源码级分析

    JobTracker和TaskTracker分别启动之后(JobTracker启动流程源码级分析,TaskTracker启动过程源码级分析),taskTracker会通过心跳与JobTracker通信 ...

    mysql 字段编码该为utf8mb4

    alter table c_comment modify column content varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unico ...

    CSS3中的网格

    在这篇文章中,我们将来看一些CSS3新属性,从而用HTML和CSS处理网格的时候更容易.但首先让我们讨论一点HTML和CSS网格的历史,了解清楚为什么以前很困难. 网格简史 曾几何时,我们的布局是一团 ...

    laravel中的命名公约规范及relation N+1问题

    User: model  ;  users: 表名: user_id 键值 relation: public function tasks(){return $this->belongsToMa ...

    Android PullToRefreshExpandableListView的点击事件

    这几天做项目的时候用到了一个开源的下拉刷新的框架(需要的朋友可以加我Q:359222347).其中我使用PullToRefreshExpandableListView的时候发现这个东西没有setOnC ...

    linux用VSFTP搭建FTP服务器

    一般在各种linux的发行版中,默认带有的ftp软件是vsftp,从各个linux发行版对vsftp的认可可以看出,vsftp应该是一款不错的ftp软件. sudo apt-get install v ...

    关于Grunt可视化的尝试

    关于Grunt可视化的尝试 使用Grunt遇到的问题? 必须要安装NodeJS 必须安装grunt-cli 需要编写复杂的Gruntfile.js规则 每个项目中必须存在nodejs的grunt模块 ...

    彩扩机项目--NPN和PNP三极管作为开关管的区别

    上图是最终画好的电路.使用的是NPN三极管,并且把NPN三极管放在了下面.下面分析下NPN三极管作为开关管能否放在上面. 从上面两张图分析可知,当三极管作为开关管使用的时候,NPN三极管需要放在下面( ...

    WOW.js – 让页面滚动更有趣

    演示1 演示2-仿oppo首页 下载 简介 有的页面在向下滚动的时候,有些元素会产生细小的动画效果.虽然动画比较小,但却能吸引你的注意.比如刚刚发布的 iPhone 6 的页面(查看).如果你希望你的 ...

    展开全文
  • java web中File的相对路径与绝对路径总结,用于在运行获取配置文件、动态加载对象等
  • 获取Java程序运行路径

    千次阅读 2019-07-04 09:59:06
    System.getProperty("java.class.path")//这个方法可以获取当前运行程序的完整路径,绝对路径,并且适应操作系统,无需处理,更加high的是,,哪怕你把jar文件弄成了exe文件,都可以获取,但是得到的是本jar包位置和引用...

     

    网上很多人介绍了各种获取的方法,但是获取都不大好,一大番处理.我引荐了一个非常好的例子

    System.getProperty("java.class.path")//这个方法可以获取当前运行程序的完整路径,绝对的路径,并且适应操作系统,无需处理,更加high的是,,哪怕你把jar文件弄成了exe文件,都可以获取,但是得到的是本jar包位置和引用的jar包位置格式类似这种,我这使用split(';')这样分割后的

    System.getProperty("usr.dir")//获取当前运行程序的完整目录,配合上面那个使用,相信问题都没了.   仅限linux

     

    ------------以下是摘自别人的----------------

    对于Java程序,无论是未打包的还是打包的JAR或WAR文件,有时候都需要获取它运行所在目录信息,如何做到这一点呢? 

    在Java处理的文件系统中,目录的表示方式有两种: 

    (1)绝对目录,它以"/"为起始字符,代表从根目录下开始寻找给出的目录,如/c:/java 

    (2)相对路径,它以不带“/”的目录名表示,表示以当前Java程序正在运行的目录作为起始目录来寻找给出的目录。如java/classes。在相对路径中,有一些特定的字符,可以代表特的的目录,比如,“.”代表当前目录,“..”代表当前目录的上一级目录。在网上很多给出的例子中,就是利用"."作为目录名,构造File对象的实例,然后通过File对象的方法来获取当前程序运行的目录。 

        这种方法虽然简单,但有时不能正确的得出当前程序的运行目录。原因在于,运行Java程序不一定要进入到该程序的类文件或JAR文件所在的目录,只要在运行时指定了正确的类路径信息,就可以在任何目录中运行Java程序,此时利用这种方法只能得到发出运行命令时所在的目录信息。 

         从上面的分析可以看出,对于很多Java程序,尤其是WEB程序,利用当前路径的“.”表示法,都不能满足要求。那么怎样才能正确的得到运行目录信息呢? 

         在Web程序中,利用Servlet API可以获得一些路径信息,比如HttpServletRequest接口中定义的getRealPath方法,但类似这些方法都依赖于Servlet环境,不便于程序的单元测试。 

        本文提供了一种只使用Java标准API的路径探测方法,就是利用ClassLoader抽象类。 

        利用java.lang.Class的getClassLoader方法,可以获得给定类的ClassLoader实例,它的getResource方法可以获得当前类装载器中的资源的位置,我们可以利用类文件的名称作为要查找的资源,经过处理后就可获得当前Java程序的运行位置信息,其伪代码如下: 
        
        获得Class参数的所在的类名 
        取得该类所在的包名 
        将包名转换为路径 
        利用getResource得到当前的类文件所在URL 
        利用URL解析出当前Java程序所在的路径 
      
       具体代码如下:

     /**-----------------------------------------------------------------------
         *getAppPath需要一个当前程序使用的Java类的class属性参数,它可以返回打包过的
         *Java可执行文件(jar,war)所处的系统目录名或非打包Java程序所处的目录
         *@param cls为Class类型
         *@return 返回值为该类所在的Java程序运行的目录
         -------------------------------------------------------------------------*/
        public static String getAppPath(Class cls){
            //检查用户传入的参数是否为空
            if(cls==null) 
             throw new java.lang.IllegalArgumentException("参数不能为空!");
            ClassLoader loader=cls.getClassLoader();
            //获得类的全名,包括包名
            String clsName=cls.getName()+".class";
            //获得传入参数所在的包
            Package pack=cls.getPackage();
            String path="";
            //如果不是匿名包,将包名转化为路径
            if(pack!=null){
                String packName=pack.getName();
               //此处简单判定是否是Java基础类库,防止用户传入JDK内置的类库
               if(packName.startsWith("java.")||packName.startsWith("javax.")) 
                  throw new java.lang.IllegalArgumentException("不要传送系统类!");
                //在类的名称中,去掉包名的部分,获得类的文件名
                clsName=clsName.substring(packName.length()+1);
                //判定包名是否是简单包名,如果是,则直接将包名转换为路径,
                if(packName.indexOf(".")<0) path=packName+"/";
                else{//否则按照包名的组成部分,将包名转换为路径
                    int start=0,end=0;
                    end=packName.indexOf(".");
                    while(end!=-1){
                        path=path+packName.substring(start,end)+"/";
                        start=end+1;
                        end=packName.indexOf(".",start);
                    }
                    path=path+packName.substring(start)+"/";
                }
            }
            //调用ClassLoader的getResource方法,传入包含路径信息的类文件名
            java.net.URL url =loader.getResource(path+clsName);
            //从URL对象中获取路径信息
            String realPath=url.getPath();
            //去掉路径信息中的协议名"file:"
            int pos=realPath.indexOf("file:");
            if(pos>-1) realPath=realPath.substring(pos+5);
            //去掉路径信息最后包含类文件信息的部分,得到类所在的路径
            pos=realPath.indexOf(path+clsName);
            realPath=realPath.substring(0,pos-1);
            //如果类文件被打包到JAR等文件中时,去掉对应的JAR等打包文件名
            if(realPath.endsWith("!"))
                realPath=realPath.substring(0,realPath.lastIndexOf("/"));
          /*------------------------------------------------------------
           ClassLoader的getResource方法使用了utf-8对路径信息进行了编码,当路径
            中存在中文和空格时,他会对这些字符进行转换,这样,得到的往往不是我们想要
            的真实路径,在此,调用了URLDecoder的decode方法进行解码,以便得到原始的
            中文及空格路径
          -------------------------------------------------------------*/
          try{
            realPath=java.net.URLDecoder.decode(realPath,"utf-8");
           }catch(Exception e){throw new RuntimeException(e);}
           return realPath;
        }//getAppPath定义结束

     

    1. 不要传递系统的类,作为getAppPath的参数,如java.lang.String.class,当然,也不要传递那些已经位于JDK中的那些类,比如xml相关的一些类等等。
    2. 要传递应该是程序中主要的运行类,不要传递程序中的支持类库中的类文件,也就是那些第三方的类库中的类文件,否则得到的将是那些类库的位置。

     

     

    原文

    https://blog.csdn.net/u012142247/article/details/79737204

    展开全文
  • 展开全部用Jsp获取、用Java获取或用servlet获取项目绝对...一、用Jsp获取1、获取文件的绝对路径String file="文件";(例如:data.mdb)String path=application.getRealPath(file);2、获取文件的绝对路径Str...

    展开全部

    用Jsp获取、用Java类获取或用servlet获取项目绝对32313133353236313431303231363533e4b893e5b19e31333363396465路径。

    一、用Jsp获取

    1、获取文件的绝对路径

    String file="文件";(例如:data.mdb)

    String path=application.getRealPath(file);

    2、获取文件的绝对路径

    String p2=request.getRequestURI();

    3、获取当前jsp页面的路径

    String p3=request.getContextPath();

    4、获取当前项目的路径

    String p4=request.getServletPath();

    二、用Java类获取

    1、获取Eclipse路径

    String a1=System.getProperty("user.dir");

    2、获取当前的classpath路径

    String a2=类名.class.getResource("").toString();

    String a3=DBConnection.class.getResource("/").toString();

    String a4=DBConnection.class.getClassLoader().getResource("").toString();

    String t=Thread.currentThread().getContextClassLoader().getResource("").getPath();

    3、获取文件的绝对路径

    如果要获取WebContent目录下的文件绝对路径怎么办?可以用下面的方法

    String t=Thread.currentThread().getContextClassLoader().getResource("").getPath();

    int num=t.indexOf(".metadata");

    String path=t.substring(1,num).replace('/', '\\')+"项目名\\WebContent\\文件";

    三、用servlet获取

    1、获取项目的绝对路径

    request.getSession().getServletContext().getRealPath("")

    2、获取浏览器地址

    request.getRequestURL()

    3、获取当前文件的绝对路径

    request.getSession().getServletContext().getRealPath(request.getRequestURI())

    展开全文
  • 展开全部类名.class.get...java.lang.Class.getResource()查找62616964757a686964616fe4b893e5b19e31333337626162给定名字的资源importjava.net.URL;importjava.lang.*;publicclassClassDemo{publicstaticvoidma...
  • /** URI:绝对路径*/System.out.println("当前类ReadTest.class文件的URI\n" + ReadTest.class.getResource(""));System.out.println("当前classpath的URI\n" + ReadTest.class.getResource("/"));System.out.println...
  • java获取运行路径

    千次阅读 2017-08-13 19:44:37
    1、利用System.getProperty()函数获取当前路径:  System.out.println(System.getProperty("user.dir"));//user.dir指定了当前的路径  2、使用File提供的函数获取当前路径:  File directory = new File("")...
  • web 上运行1:this.getClass().getClassLoader().getResource("/").getPath();this.getClass().getClassLoader().get... 得到的是 ClassPath的绝对URI路径。如:/D:/jboss-4.2.2.GA/server/default/deploy/hp.w...
  • 绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,比如,你的Perl 程序是存放在 c:/apache/cgi-bin 下的,那么 c:/apache/cgi-bin就是cgi-bin目录的绝对路径二、路径使用不管你是新手还是老鸟...
  • Java Web 获取资源路径之绝对路径

    千次阅读 2018-08-06 11:25:42
    这是我的项目结构: 这是我部署在tomcat服务器之后,右键项目选择“Browse deployment location...”看到...想要获取a.properties、b.properties、c.properties这三个文件的内容,使用getRealPath(String path...
  • 原理上都是调用了java.io.File 包 只不过由于scala语法与java语法有些差别 java import java.io.File File directory = new File("");//设定为当前文件夹 ...//获取绝对路径 scala import java.io.
  • Java获取Jar或者War文件运行时的绝对路径,getRunningPath需要一个当前程序使用的Java类的class属性参数,它可以返回打包过的 Java可执行文件(jar,war)所处的系统目录名或非打包Java程序所处的目录
  • Also, beware, that Python has an issue with it's output stream, which may prevent Java from reading it until it's completely finished if at all... Also, make sure python is within the shell's search ...
  • 获得帮助。 AT 命令安排在特定日期和时间运行命令和程序。 要使用 AT 命令,计划服务必须已在运行中。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ AT [\\computername] [ [id] [/DELETE] | /DELETE [/YES]] AT [\\...
  • * @description 得到项目的根目录的绝对路径 */ public static String getPath(HttpServletRequest request){ String path = request.getSession().getServletContext().getRealPath("/");//表示到项目的根目录...
  • java获得当前文件路径

    2021-04-24 01:10:08
    第一种:File f = new File(this.getClass().getResource("/")....结果:C:Documents%20and%20SettingsAdministratorworkspaceprojectNamein获取当前类的所在工程路径;如果不加“/”File f = new File(this.get...
  • 1、利用System.getProperty()函数获取当前路径:System.out.println(System.getProperty(“user.dir”));//user.dir指定了当前的路径2、使用File提供的函数获取当前路径:File directory = new File(“”);//设定为...
  • Java路径问题,非常难搞。最近的工作涉及到创建和读取文件的工作,这里我就给大家彻底得解决Java路径问题。 我编写了一个方法,比ClassLoader.getResource(String 相对路径)方法的能力更强。它可以接受“../”...
  • Java 上传文件 获取绝对路径

    万次阅读 2019-01-24 11:51:13
    说这个很基础吧,确实!但开始不知道这么搞,所以觉得难。 问题没有难易之分,理解其含义了,就简单。 我这是在为自己菜而找借口吗???...先讲一下我的一个目的,我要把 d.plist 这个上传到...获取项目上传文件绝对...
  • JAVA - 绝对路径&相对路径

    千次阅读 2018-05-29 14:33:53
    Java本质上只能使用绝对路径来寻找资源。所有的相对路径寻找资源的方法,都不过是API在底层帮助我们构建了绝对路径,从而找到资源的。基本概念 绝对路径:从根目录为参考点的文件或文件夹(即目录)所在的路径,只...
  • 1、在JSF环境中获取到ServletContext:ServletContext sc = (ServletContext)FacesContext.getCurrentInstance()....2、servlet中获得项目绝对路径String filePath=this.getServletConfig().getServletC...
  • java项目中的绝对路径和相对路径用法说明绝对路径:不可改变的路径本地绝对路径:增加盘符的路径(e:/test/test.html)网络绝对路径:增加协议,IP地址,端口号的路径(http://localhost:8080/test/test.html)相对路径...
  • 更多追问追答追问import java.awt.*;import java.applet.*;public class picapplet extends Applet{Image pic;public void init(){pic=getImage(getCodeBase(),"D:\\My Documents\\我的图片\\u=1757128592,...
  • linux中java获取路径的方法发布时间:2020-05-06 11:11:26来源:亿速云阅读:700作者:小新今天小编给大家分享的是linux中java获取路径的方法,相信很多人都不太了解,为了让大家更加了解java获取路径的方法,所以给...
  • linux中java获取路径怎么写?在Unix/Linux中,路径的分隔采用正斜"/",比如"cd /home/java"。在java的代码开发中 \ 是代表转义字符。相对路径和绝对路径. 指的是当前目录.. 指的是当前目录的上一级目录./book表示...
  • 1、利用System.getProperty()函数获取当前路径:System.out.println(System.getProperty("user.dir"));//user.dir指定了当前的路径2、使用File提供的函数获取当前路径:File directory = new File("");//设定为当前...
  • 1. URL菜鸟教程:Java URL处理 通常推荐对... 相关:URLConnections 类 可以打开连接进行IO 通过getResource方法可以获得相对于classPath的文件的URL 2. File@Testvoid test7() throws IOException {String dirnam...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 77,888
精华内容 31,155
关键字:

java获取运行的绝对路径

java 订阅