java路径解析(java工程路径获取)

华为云服务器特价优惠火热进行中!

2核2G2兆仅需 38 元;4核4G3兆仅需 79 元。购买时间越长越优惠!更多配置及优惠价格请咨询客服。

合作流程:
1、点击链接注册/关联华为云账号:点击跳转
2、添加客服微信号:cloud7591,确定产品方案、价格方案、服务支持方案等;
3、客服协助购买,并拉微信技术服务群,享受一对一免费技术支持服务;
技术专家在金蝶、华为、腾讯原厂有多年工作经验,并已从事云计算服务8年,可对域名、备案、网站搭建、系统部署、AI人工智能、云资源规划等上云常见问题提供更专业靠谱的服务,对相应产品提供更优惠的报价和方案,欢迎咨询。

本篇文章给大家谈谈java路径解析,以及java工程路径获取对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

微信号:cloud7591
如需了解更多,欢迎添加客服微信咨询。
复制微信号

本文目录一览:

java 路径

学习jsp时应该都说过,jsp也是class,编译运行后,生成html文件。太久没接触理论,你再查查。

所以你这路径问题应该是,class在编译部署后被集中在classpath下(一般是工程的src目录)。所以解决方案:

1、把你的配置文件a.properties放到src(即jsp中脚本段中找的相对路径实际是classLoader目录,即src)目录下,其余不变,应该可以解决。

2、用new File(request.getContextPath+"/a.properties")这个绝对路径即可解决。

暂时没时间试验,自己项目也还在忙,不对之处或理论不翔实之处请指正。

java解析出url请求的路径和参数键值对类

解析url,本想用正则表达式处理,但正则表达式速度较慢。用split处理一下就可以了。

 

package RequestPackage;

import java.util.HashMap;

import java.util.Map;

public class CRequest {

    /**

     * 解析出url请求的路径,包括页面

     * @param strURL url地址

     * @return url路径

     */

    public static String UrlPage(String strURL)

    {

    String strPage=null;

      String[] arrSplit=null;

     

      strURL=strURL.trim().toLowerCase();

     

      arrSplit=strURL.split("[?]");

      if(strURL.length()0)

      {

          if(arrSplit.length1)

          {

                  if(arrSplit[0]!=null)

                  {

                  strPage=arrSplit[0];

                  }

          }

      }

     

    return strPage;   

    }

    /**

     * 去掉url中的路径,留下请求参数部分

     * @param strURL url地址

     * @return url请求参数部分

     */

    private static String TruncateUrlPage(String strURL)

    {

    String strAllParam=null;

      String[] arrSplit=null;

     

      strURL=strURL.trim().toLowerCase();

     

      arrSplit=strURL.split("[?]");

      if(strURL.length()1)

      {

          if(arrSplit.length1)

          {

                  if(arrSplit[1]!=null)

                  {

                  strAllParam=arrSplit[1];

                  }

          }

      }

     

    return strAllParam;   

    }

    /**

     * 解析出url参数中的键值对

     * 如 "index.jsp?Action=delid=123",解析出Action:del,id:123存入map中

     * @param URL  url地址

     * @return  url请求参数部分

     */

    public static MapString, String URLRequest(String URL)

    {

    MapString, String mapRequest = new HashMapString, String();

   

      String[] arrSplit=null;

     

    String strUrlParam=TruncateUrlPage(URL);

    if(strUrlParam==null)

    {

        return mapRequest;

    }

      //每个键值为一组 

    arrSplit=strUrlParam.split("[]");

    for(String strSplit:arrSplit)

    {

          String[] arrSplitEqual=null;         

          arrSplitEqual= strSplit.split("[=]");

         

          //解析出键值

          if(arrSplitEqual.length1)

          {

              //正确解析

              mapRequest.put(arrSplitEqual[0], arrSplitEqual[1]);

             

          }

          else

          {

              if(arrSplitEqual[0]!="")

              {

              //只有参数没有值,不加入

              mapRequest.put(arrSplitEqual[0], "");       

              }

          }

    }   

    return mapRequest;   

    }

   

}

 

测试类

 

 

package RequestPackage;

import java.util.Map;

public class TestCRequest {

    /**用于测试CRequest类

     * @param args

     */

    public static void main(String[] args) {

    // 请求url

        String str = "index.jsp?Action=delid=123sort=";    

       

        //url页面路径

        System.out.println(CRequest.UrlPage(str));

       

        //url参数键值对

        String strRequestKeyAndValues="";       

        MapString, String mapRequest = CRequest.URLRequest(str);

       

        for(String strRequestKey: mapRequest.keySet()) {

            String strRequestValue=mapRequest.get(strRequestKey);

            strRequestKeyAndValues+="key:"+strRequestKey+",Value:"+strRequestValue+";";           

          

        }

        System.out.println(strRequestKeyAndValues);

       

        //获取无效键时,输出null

        System.out.println(mapRequest.get("page"));

    }

}

 

 

测试代码运行效果

 

index.jsp

key:id,Value:123;key:sort,Value:;key:action,Value:del;

null

java包路径解析成json

我跟你讲一种方式,我刚刚想了一下,你最好是在得到你list数据的时候就开始组装,这样是最好的,得到list数据无非是文件递归嘛,当递归到出口的时候,你就放进去,如果是文件夹也往里放。

代码刚写好了。

import com.alibaba.fastjson.JSONObject;

import java.io.File;

import java.net.URL;

import java.util.LinkedList;

import java.util.List;

/**

 * @Package com.xhxh.zhidao

 * @Description json convert

 * @Author xiehua

 * @Date 2019-03-08 16:28

 */

public class FileDomain {

    private String name;

    private ListFileDomain packages = new LinkedList();

    public FileDomain() {

    }

    public FileDomain(String name) {

        this.name = name;

    }

    public ListFileDomain getPackages() {

        return packages;

    }

    public String getName() {

        return name;

    }

    public void setName(String name) {

        this.name = name;

    }

    @Override

    public String toString() {

        return "FileDomain{" +

                "name='" + name + '\'' +

                ", packages=" + packages +

                '}';

    }

    public static void main(String[] args) {

        FileDomain fileDomain = new FileDomain("com.xhxh");

        fileDomain.readFiles("com.xhxh", fileDomain);

        String s = JSONObject.toJSONString(fileDomain);

        System.out.println(s);

    }

    public void readFiles(String scanPackage, FileDomain fileDomain) {

        URL url = this.getClass().getClassLoader().getResource(scanPackage.replaceAll("\\.", "/"));

        File classDir = new File(url.getFile());

        for (File file :

                classDir.listFiles()) {

            if (file.isDirectory()) {

                FileDomain temFileDomain = new FileDomain(scanPackage + "." + file.getName());

                fileDomain.getPackages().add(temFileDomain);

                readFiles(scanPackage + "." + file.getName(), temFileDomain);

            } else {

                FileDomain temFileDomain = new FileDomain(scanPackage + "." + file.getName());

                fileDomain.getPackages().add(temFileDomain);

            }

        }

    }

}

在java中怎么获得,本文件的路径

 File类有两个常用方法可以得到文件路径一个是:getCanonicalPath(),另一个是:getAbsolutePath(),可以

通过File类的实例调用这两个方法例如file.getAbsolutePath()其中file是File的实例对象。下面是一个具体例子:

public class PathTest

{

    public static void main(String[] args)

    {

        File file = new File(".\\src\\baidu");

        System.out.println(file.getAbsolutePath());

        try

        {

            System.out.println(file.getCanonicalPath());

        } catch (IOException e)

        {

            e.printStackTrace();

        }

    }

}

getAbsolutePath()和getCanonicalPath()的不同之处在于,getCanonicalPath()得到的是一个规范的

路径,而getAbsolutePath()是用构造File对象的路径+当前工作目录。例如在上面的例子中.(点号)代表当前目录。

getCanonicalPath()就会把它解析为当前目录但是getAbsolutePath()会把它解析成为目录名字(目录名字是点号)。

下面是上面程序在我电脑上的输出:

G:\xhuoj\konw\.\src\baidu

G:\xhuoj\konw\src\baidu

Java中路径的获取总结以及URL和URI的区别

路径获取分直接写死在代码上和动态获取路径。直接写死就不说了,动态获取方法很多最常用的../和${pageContext.request.contextPath},获取路径可以用getClass().getResource()。URl和URL一个是相对路径一个是绝对路径,比如相对路径和你同包的你直接写对象(类,各种格式文件)名字就行,绝对路径就是你的项目名+包+你的应用名。

java路径解析的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java工程路径获取、java路径解析的信息别忘了在本站进行查找喔。

发布于 2023-04-12 16:04:28
收藏
分享
海报
33
目录

    忘记密码?

    图形验证码

    复制成功
    微信号: cloud7591
    如需了解更多,欢迎添加客服微信咨询。
    我知道了