当前位置: 首页 > wzjs >正文

电脑机箱定制网站百度客户电话

电脑机箱定制网站,百度客户电话,佛山网站开发招聘,wordpress弹窗表单一、读取resources资源目录下的指定文件内容 读取文件可以分为两步: 第一步,找到指定文件,并将其转换成输入流 第二步,读取流的信息 二、getResouce 和 getResourceAsStream 区别 共同点:这两个方法都必须传入资源…

一、读取resources资源目录下的指定文件内容

读取文件可以分为两步:

第一步,找到指定文件,并将其转换成输入流

第二步,读取流的信息

二、getResouce 和  getResourceAsStream 区别

共同点:这两个方法都必须传入资源路径,可以是绝对路径,也可以是相对路径。

绝对路径  就是编译生成的classes目录作为根路径,以 " / " 开头就表示从根路径开始。

相对路径  就是从当前类所在的路径开始。

getResouce方法 返回一个URL,它用来标记这个资源地址。如果是URL为null,就说明资源路径写错了,资源不存在。

getResourceAsStream 返回 一个inputStream输入流,如果输入流为null,就说明资源路径写错了,资源不存在。当你只需要拿到输入流,不需要知道资源具体位置,就可以使用getResourceAsStream方法。

方式一:使用第三方工具类IOUtils,读取输入流

Apache Commons IO 是一个Apache基金会维护的JAVA库,提供了一些工具类对文件进行操作。需要注意的是,Commons IO 要避免使用 2.7 之前的版本,低版本存在安全漏洞 ,且可能出现不会主动释放流的问题,可以去Maven仓库查看最新的版本。

<dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>2.7</version>
</dependency>

以 绝对路径 的方式获取输入流

使用Apache Commons IO 提供的IOUtils工具类,读取文件内容

import org.apache.commons.io.IOUtils;
import org.springframework.stereotype.Component;import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.nio.charset.StandardCharsets;@Component
public class APayClient {public APayClient() {//当前类所在路径System.out.println("当前类所在路径:" + APayClient.class.getResource("").getPath());//绝对路径System.out.println("指定绝对路径:" + APayClient.class.getResource("/importFile").getPath());//如果文件路径指定错误,获取到的就是空URL absolutePath = APayClient.class.getResource("/noPath");if (absolutePath == null) {System.out.println("不存在指定路径的资源");}InputStream inputStream = APayClient.class.getResourceAsStream("/importFile/UMR.sql");if (inputStream == null) {System.out.println("inputStream流不存在");}String querysql = null;try {//使用IOUtils工具类,读取文件内容querysql = IOUtils.toString(APayClient.class.getResourceAsStream("/importFile/query.sql"), StandardCharsets.UTF_8);} catch (IOException e) {throw new RuntimeException(e);}System.out.println("读取到的SQL语句为:" + querysql);}
}

控制台打印结果如下,可以看见正常读取到文件的信息

方式二:自定义工具类,读取输入流

 在web包下新增一个子包ddl,并在子包存放【1.sql】资源文件

sql包含以下内容 

因为资源文件(1.sql)没有直接放在resouces资源目录下,导致maven在编译的时候,是不会自动将除了class文件以外的资源放到classes目录下,所以,需要我们在pom文件配置以下信息。

<build><resources><resource><directory>src/main/java</directory><includes><include>**/*.sql</include></includes></resource></resources>
</build>

自定义工具类FileUtils,读取文件内容

import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;public class FileUtils {/*** 将文件流转为字符串** @param inputStream* @return*/public static String getStringByInputStream(InputStream inputStream) {ByteArrayOutputStream outputStream = new ByteArrayOutputStream();try {byte[] b = new byte[10240];int n;while ((n = inputStream.read(b)) != -1) {outputStream.write(b, 0, n);}return outputStream.toString();} catch (Exception e) {throw new RuntimeException("解析文件失败");} finally {try {outputStream.close();if (inputStream != null) {inputStream.close();}} catch (IOException e) {e.printStackTrace();}}}
}

以 相对路径 的方式获取输入流

ADemo类所在的位置作为起始位置

import java.io.InputStream;public class ADemo {public static void main(String[] args) throws Exception {//使用相对路径的方式:以ADemo作为起始路径,找到文件流InputStream inputStream = ADemo.class.getResourceAsStream("ddl/1.sql");String sql = FileUtils.getStringByInputStream(inputStream);System.out.println("获取到的SQL语句 " + sql);}
}

控制台打印结果如下

http://www.dtcms.com/wzjs/43062.html

相关文章:

  • 建站之星 网站排名seo是什么意思广东话
  • Wordpress上传万网空间唐山百度seo公司
  • 深圳有哪些网站开发公司媒介平台
  • 武汉做网站网络公司百度竞价开户流程
  • 重庆定制网站开发价格西安网站维护
  • python做调查问卷网站网络营销产品策略分析
  • 网站建设类公司新闻推销产品怎么推广
  • 地方性资讯门户网站裂变营销五种模式十六种方法
  • 新闻网站传播力建设怎么在腾讯地图上添加自己的店铺
  • 部署自己做的网站吗十大经典案例
  • 个人网站怎么备案可以做哪些哈尔滨网站建设
  • wordpress进销存插件南昌seo
  • 广西省建设厅网站seo推广的常见目的有
  • 武汉便宜做网站360搜索推广官网
  • b站推广网站入口mmm网站开发的步骤
  • 深圳专业政府网站建设东莞seo搜索
  • 动态网站开发实训报告6如何分析百度指数
  • 网站开发总结与未来展望四川游戏seo整站优化
  • 安庆网站建设为中国旺旺(00151) 股吧
  • 佛山市做网站的公司武汉网络推广自然排名
  • 做网站需要招什么凡科小程序
  • 小米3g 架设wordpressseo网络营销推广公司
  • 最新网站建设视频成都黑帽seo
  • 租房子网站怎么做百度官方客户端
  • 快速注销网站备案产品推广计划方案
  • wordpress 代码运行南昌seo搜索优化
  • 企业展厅设计公司西安seo外链推广
  • 专业做旅游网站的公司河南新闻头条最新消息
  • 驾考学时在哪个网站做百度平台商家客服
  • 做体育赛事网站公司社群营销方案