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

nike官方网站定制中国搜索引擎排名2021

nike官方网站定制,中国搜索引擎排名2021,成都网站建设 全美,自学商城网站建设一、读取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/195333.html

相关文章:

  • 苏州网页制作招聘惠州百度关键词优化
  • wordpress高端手机优化软件哪个好用
  • 做网站电话号码四川seo多少钱
  • 南通网站优化推广站长工具seo推广
  • 视觉差网站制作巨量千川广告投放平台
  • WordPress文章添加iframeseo关键词库
  • 网站建设小程序和app无锡网站建设优化公司
  • 做手机网站用什么软件新东方在线网上课程
  • wordpress 文章积分seo上海网站推广
  • 杭州有哪些做网站的公司免费推广网站推荐
  • 小程序平台推广方案seo关键词快速排名前三位
  • dede部署两个网站企业seo
  • 巨野县城乡和住房建设局网站品牌推广是做什么的
  • 找图片素材的网站有哪些用手机制作自己的网站
  • 网站做导航设计的作用是什么企业营销咨询
  • 医疗网站备案前置审批全球十大搜索引擎入口
  • 外贸网站平台排名百度电话号码
  • 做网站的花费小姐关键词代发排名
  • 企业类网站模板谷歌paypal官网注册入口
  • 灵溪网站建设网站创建公司
  • 中国科技发展成果seo知识培训
  • dedecms做的网站首页被挂马360网站收录
  • ssm html实现网站开发产品如何推广市场
  • 网站建设哪家有实力百度客服联系方式
  • 西安网站建设流程国际新闻最新消息中国
  • 网站开发员招聘seo排名赚app下载
  • 深圳网站建设公司排名微博营销成功案例8个
  • seo推广优化费用搜索排名优化软件
  • dede网站安全设置杭州网站建设公司
  • 域名租赁网站电脑培训班附近有吗