首页>>后端>>SpringBoot->java获取项目resource路径(javaweb获取项目路径)

java获取项目resource路径(javaweb获取项目路径)

时间:2023-12-02 本站 点击:0

几种获取resources目录下的文件方式

一般我们的配置信息默认都是会配置在/src/main/resources/application.properties(或者application.yml)文件中,当然,也可以在resources文件夹下添加自己的配置文件,甚至子目录中添加自己的配置文件,那么我们又该如何读取自己添加的配置文件中的内容呢?

我们先定义一个公共的输出配置信息的方法如下:

这里是通过java.util下的Properties类来获取配置文件中的属性

添加自定义的配置文件,在resources目录下添加子目录config并添加配置文件db.properties

内容如下:

在java中,resources文件夹下的文件在编译后,都是为根目录(classpath)。接下来,准备采用以下的6种方式进行配置内容的读取

在springboot项目我还可以使用如下的方式:

springboot项目中使用

springboot项目中使用

springboot项目中使用,通过@Value注解,但是我们还需要通过@PropertySource(" classpath:config/db.properties ")

注解指定配置文件的路径,如果是默认的配置文件,如:application.properties(.yml)就不需要指定路径

通过上述6种方法都可以成功获取到自定义配置文件中的配置信息,如果大家还有更好的方式,可以评论区留言。

java怎么获取resources下的文件路径

1.读取本地的xml文件,需要注意对应的路径

//读取xml文件,xmlFile为读取文件的路径DocumentBuilderFactoryfactory=DocumentBuilderFactory.newInstance;DocumentBuilderbuilder=factory.newDocumentBuilder;Documentdocument=builder.parse(xmlFile);NodeListnodeList=document.getElementsByTagName(thisTag);//指定标签(thisTag)的节点集合for(itni=0;inodeList.getLength;i++){//循环获取每个节点信息Nodenode=nodeList.item(i);NamedNodeMapattributes=node.getAttributes;for(intj=0;jattributes.getLength;j++){Nodeattribute=attributes.item(j);System.out.println(attribute.getNodeName+":"+attribute.getNodeValue);}}

注意:getElementsByTagName方法只是属于document与Element的方法

所以,当针对某个Node查找对应的节点时,需要先强制转换为Element

ElementnodeToElement=(Element)node;NodeListosNodeList=nodeToElement.getElementsByTagName(thisTag);//thisTag为指定标签

2.读取txt文件

一般的数据存储都是键值对的方式在文件中记录,开发人员多是根据已知的键,从文件中取得对应的值。

例如Config.txt中内容为:

name=jack

sex=boy

要从java程序中读取该文件的内容

Fileconfig_file=newFile("./Config");//此处使用相对路径Stringconfig_file_fullpath=config_file.getAbsoluteFile.toString;readConfigconfig=newreadConfig(config_file_fullpath);Stringname=config.get("name");//name为jack//对获取的数据进行处理//...

3.读取.csv文件

csv文件一般为表格,是多行多列的数据,列对应相应不同的属性,java实现逐行读取每列单元格的值。

如何在java中获取当前项目的路径

很多朋友都想了解java如何获取当前项目的路径?下面就一起来了解一下吧~

在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: esinwebappsTEST est.jsp (5)得到页面所在服务器的绝对路径:absPath=new java.io.File(application.getRealPath(request.getRequestURI())).getParent(); 结果:D: esinwebappsTEST

2.在class类中取得路径:

(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:TomcatwebappsTEST (2)得到IE地址栏地址:request.getRequestURL() 结果: (3)得到相对地址:request.getRequestURI() 结果:/TEST/test

java中类加载路径和项目根路径获取有几种方式?

package my;  

  

import java.io.File;  

import java.io.IOException;  

import java.net.URL;  

  

public class MyUrlDemo {  

  

      

    public static void main(String[] args) {  

        MyUrlDemo muDemo = new MyUrlDemo();  

        try {  

            muDemo.showURL();  

        } catch (IOException e) {  

            // TODO Auto-generated catch block  

            e.printStackTrace();  

        }  

    }

public void showURL() throws IOException {  

          

        // 第一种:获取类加载的根路径   D:\git\daotie\daotie\target\classes  

        File f = new File(this.getClass().getResource("/").getPath());  

        System.out.println(f);  

  

        // 获取当前类的所在工程路径; 如果不加“/”  获取当前类的加载目录  D:\git\daotie\daotie\target\classes\my  

        File f2 = new File(this.getClass().getResource("").getPath());  

        System.out.println(f2);  

  

        // 第二种:获取项目路径    D:\git\daotie\daotie  

        File directory = new File("");// 参数为空  

        String courseFile = directory.getCanonicalPath();  

        System.out.println(courseFile);  

          

  

        // 第三种:  file:/D:/git/daotie/daotie/target/classes/  

        URL xmlpath = this.getClass().getClassLoader().getResource("");  

        System.out.println(xmlpath);  

      

  

        // 第四种: D:\git\daotie\daotie  

        System.out.println(System.getProperty("user.dir"));  

        /* 

         * 结果: C:\Documents and Settings\Administrator\workspace\projectName 

         * 获取当前工程路径 

         */  

  

        // 第五种:  获取所有的类路径 包括jar包的路径  

        System.out.println(System.getProperty("java.class.path"));  

          

    }  

}


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:/SpringBoot/9896.html