java(包括springboot)读取resources下文件方式实现_java

来源:脚本之家  责任编辑:小易  

classpath:是从类2113路径里查找配置文件,也就是/WEB-INF/classes目录下找SpringMVC-servlet.xml。你写5261了4102classpath了,不会从web-info下找,而是去web-inf/classes下面找,所以找不到。1653服务器(Tomcat)读取资源文件方式一:采用流+Properties当工程部署到Tomcat中时,按照上边方式,则会出现找不到该文件路径的异常。经搜索资料知道,Java工程打包部署到Tomcat中时,properties的路径变到顶层(classes下),这是由Maven工程结构决定的。由Maven构建的web工程,主代码放在src/main/java路径下,资源放在src/main/resources路径下,当构建为war包的时候,会将主代码和资源文件放置classes文件夹下,并且,此时读取文件需要采用流(stream)的方式读取,并通过JDK中Properties类加载,可以方便的获取到配置文件中的信息,如下。采用Spring注解如果工程中使用Spring,可以通过注解的方式获取配置信息,但需要将配置文件放到Spring配置文件中扫描后,才能将配置信息放入上下文,然后在程序中可以使用 @Value进行获取properties文件中的属性值。采用Spring配置也可以在Spring配置文件中读取属性值,赋予类成员变量,classpath:是从类路径2113里查找配置文件,也5261就是/WEB-INF/classes目录下找SpringMVC-servlet.xml你写了classpath了,4102不会从web-info下找,1653而是去web-inf/classes下面找本回答被网友采纳www.zgxue.com防采集请勿采集本网。

本文主要介绍了java(包括springboot)读取resources下文件方式实现,分享给大家,具体如下:

.spring boot默认加载文件的路径是 /META-INF/resources/ /resources/ /static/ /public/ 这些目录下面, 当然我们也可以从spring boot源码也可以看到

1、使用项目内路径读取,该路径只在开发工具中显示,类似:src/main/resources/resource.properties。只能在开发工具中使用,部署之后无法读取。(不通用)

java springboot 大文件分片上传处理 这里只写后端的代码,基本的思想就是,前端将文件分片,然后每次访问上传接口的时候,向后端传入参数:当前为第几块文件,

File file = new File("src/main/resources/resource.properties");

resources中的文件打包时也被放在classes目录下。使用this.getClass().getClassLoader().getResource("");

@Test public void testReadFile2() throws IOException { File file = new File("src/main/resources/resource.properties"); FileInputStream fis = new FileInputStream(file); InputStreamReader isr = new InputStreamReader(fis); BufferedReader br = new BufferedReader(isr); String data = null; while((data = br.readLine()) != null) { System.out.println(data); } br.close(); isr.close(); fis.close(); }

这个是我写的三个类,用于多线程操作读取文件内容和写入文件内容,不知道是不是你合你味口。 ________________第一个类______读取内容__写入

2、使用org.springframework.util.ResourceUtils,读取。在linux环境中无法读取。(不通用)

1. 使用java.lang.Class类的getResourceAsStream(String name)方法InputStream in = getClass().getResourceAsStream("/config.properties");在静态方法

File file = ResourceUtils.getFile("classpath:resource.properties");FileInputStream fis = new FileInputStream(file);

@Test public void testReadFile3() throws IOException { File file = ResourceUtils.getFile("classpath:resource.properties"); FileInputStream fis = new FileInputStream(file); InputStreamReader isr = new InputStreamReader(fis); BufferedReader br = new BufferedReader(isr); String data = null; while((data = br.readLine()) != null) { System.out.println(data); } br.close(); isr.close(); fis.close(); }

3、使用org.springframework.core.io.ClassPathResource,各种环境都能读取。(通用)

Resource resource = new ClassPathResource("resource.properties");InputStream is = resource.getInputStream();

@Test public void testReadFile() throws IOException {// ClassPathResource classPathResource = new ClassPathResource("resource.properties"); Resource resource = new ClassPathResource("resource.properties"); InputStream is = resource.getInputStream(); InputStreamReader isr = new InputStreamReader(is); BufferedReader br = new BufferedReader(isr); String data = null; while((data = br.readLine()) != null) { System.out.println(data); } br.close(); isr.close(); is.close(); }

4、结合spring注解,使用org.springframework.core.io.ResourceLoader;类的注解。(通用)

package com.tsinkai.ettp;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.test.context.SpringBootTest;import org.springframework.core.io.Resource;import org.springframework.core.io.ResourceLoader;import org.springframework.test.context.junit4.SpringRunner;@RunWith(SpringRunner.class)@SpringBootTestpublic class EttpCustomApplicationTests { @Autowired ResourceLoader resourceLoader; @Test public void testReaderFile() throws IOException { Resource resource = resourceLoader.getResource("classpath:resource.properties"); InputStream is = resource.getInputStream(); InputStreamReader isr = new InputStreamReader(is); BufferedReader br = new BufferedReader(isr); String data = null; while((data = br.readLine()) != null) { System.out.println(data); } br.close(); isr.close(); is.close(); }}

到此这篇关于java(包括springboot)读取resources下文件方式实现的文章就介绍到这了,更多相关java 读取resources内容请搜索真格学网以前的文章或继续浏览下面的相关文章希望大家以后多多支持真格学网! 您可能感兴趣的文章:Java实现的读取资源文件工具类ResourcesUtil实例【可动态更改值的内容】浅谈Java工程读取resources中资源文件路径的问题java读取resources文件详解及实现代码

1.读取本地的xml文件,需要2113注意对应的路径//读取5261xml文件,xmlFile为读取文件的路4102径DocumentBuilderFactoryfactory=DocumentBuilderFactory.newInstance;DocumentBuilderbuilder=factory.newDocumentBuilder;Documentdocument=builder.parse(xmlFile);NodeListnodeList=document.getElementsByTagName(thisTag);//指定标签(thisTag)的节点集合for(itni=0;i<nodeList.getLength;i++){//循环获1653取每个节点信息Nodenode=nodeList.item(i);NamedNodeMapattributes=node.getAttributes;for(intj=0;j<attributes.getLength;j++){Nodeattribute=attributes.item(j);System.out.println(attribute.getNodeName+":"+attribute.getNodeValue);}}注意:getElementsByTagName方法只是属于document与Element的方法所以,当针对某个Node查找对应的节点时,需要先强制转换为ElementElementnodeToElement=(Element)node;NodeListosNodeList=nodeToElement.getElementsByTagName(thisTag);//thisTag为指定标签2.读取txt文件一般的数据存储都是键值对的方式在文件中记录,开发人员多是根据已知的键,从文件中取得对应的值。例如Config.txt中内容为:name=jacksex=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实现逐行读取每列单元格的值内容来自www.zgxue.com请勿采集。


  • 本文相关:
  • idea新建springboot项目(图文教程)
  • 十分简单易懂的java应用程序性能调优技巧分享
  • java中使用dom和sax解析xml文件的方法示例
  • jenkins的安装配置详解
  • mybatis+mysql 返回插入的主键id的方法
  • javafx实现拖拽结点效果
  • 使用jdk7的nio2操作文件拷贝和剪切示例
  • java实现插入排序实例
  • 如何在mac下配置多个java版本
  • spring boot maven插件使用详解
  • java怎么获取resources下的文件路径
  • JAVA maven创建web项目,把Spring框架配置文件放在s...
  • j2ee 获取resources文件夹下的资源文件信息
  • springboot 项目resources/public下我新建了一个文...
  • springboot 怎么读取本地文件
  • java springboot 大文件分片上传处理如何实现?
  • 如何从src/main/java 读取src/main/resouces文件
  • 求多线程读取一个文件,然后写到另外一个文件中的J...
  • java web工程中读取properties文件,路径一直不知...
  • SpringBoot有几种读取配置的方式?
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全c#教程vbvb.netc 语言java编程delphijavaandroidiosswiftscala易语言汇编语言其它相关首页java实现的读取资源文件工具类resourcesutil实例【可动态更改值的内容】浅谈java工程读取resources中资源文件路径的问题java读取resources文件详解及实现代码idea新建springboot项目(图文教程)十分简单易懂的java应用程序性能调优技巧分享java中使用dom和sax解析xml文件的方法示例jenkins的安装配置详解mybatis+mysql 返回插入的主键id的方法javafx实现拖拽结点效果使用jdk7的nio2操作文件拷贝和剪切示例java实现插入排序实例如何在mac下配置多个java版本spring boot maven插件使用详解java使double保留两位小数的多方java8 十大新特性详解intellij idea 2020最新激活码(亲java.net.socketexception: connjava写入文件的几种方法分享java环境变量的设置方法(图文教程java 十六进制与字符串的转换java list用法示例详解java中file类的使用方法javaweb实现文件上传下载功能实例javaweb工程web.xml基本配置过程解析java算法之串的简单处理mybatis分页插件pagehelper配置及使用方法java字母大小写转换的方法基于maven使用idea创建多模块项目java 网络爬虫新手入门详解java 地心坐标系(ecef)和wgs-84坐标系(jmeter分布式压力测试实现过程详解mybatis多对多映射初识教程关于java开发的性能问题总结(必看)
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved