热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

java读取resource下的文件

目录一、普通main代码里使用1.假设有如


目录



  • 一、普通main代码里使用



    • 1.假设有如下结构的代码

    • (1)、main方法里复制resource下的文件

    • (2)、main方法里读取resource下的文件

    • 2.假设有如下结构的代码



  • 二、对于springboot项目读取resource下的资源文件



一、普通main代码里使用

1.假设有如下结构的代码

在这里插入图片描述


(1)、main方法里复制resource下的文件

import org.apache.commons.io.FileUtils;
import java.io.*;
public class App {
public static void main(String[] args) throws Exception {
//从resources下读取diff2html.min.css为输入流
InputStream inputStream = App.class.getClassLoader().getResourceAsStream("diff2html.min.css");
//利用Apache Commons IO库把输入流写入到D:\myExcel\jsAndCss\diff2html.min.css ,如果文件不存在会自动创建
FileUtils.copyInputStreamToFile(inputStream, new File("D:\\myExcel\\jsAndCss\\diff2html.min.css"));
}
}

可以把代码和resource目录打成一个jar包也同样适用。运行jar包的时候就会把jar包里resource下的diff2html.min.css文件复制到D:\myExcel\jsAndCss\diff2html.min.css


(2)、main方法里读取resource下的文件

import java.io.*;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
public class App {
public static void main(String[] args) throws Exception {
List<String> list = new ArrayList<>();
//从resources下读取diff2html.min.css为输入流
InputStream inputStream = App.class.getClassLoader().getResourceAsStream("diff2html.min.css");
BufferedInputStream buf = new BufferedInputStream(inputStream);
int len = 0;
byte[] bys = new byte[1024];
while ((len = buf.read(bys)) != -1) {
//diff2html.min.css里每一行的内容添加到list里
String row = new String(bys, 0, len, StandardCharsets.UTF_8);
System.out.println(row);
list.add(row);
}
inputStream.close();
buf.close();
}
}

2.假设有如下结构的代码

在这里插入图片描述

import com.haitangxt.utils.ReadSource;
public class App {
public static void main(String[] args) throws Exception {
ReadSource readSource = new ReadSource();
readSource.copyfile("D:\\myExcel\\jsAndCss");
}
}

import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
public class ReadSource {
public void copyfile(String jsCssPath) {
try {
//从resources下的test/diff2html.min.css读取为输入流
InputStream inputStream = ReadSource.class.getClassLoader().getResourceAsStream("test/diff2html.min.css");
//利用Apache Commons IO库把输入流写入到D:\myExcel\jsAndCss\diff2html.min.css ,如果文件不存在会自动创建
FileUtils.copyInputStreamToFile(inputStream, new File(jsCssPath + "\\diff2html.min.css"));
} catch (IOException e) {
e.printStackTrace();
}
}
}

二、对于springboot项目读取resource下的资源文件

在这里插入图片描述


@Component
public class WorldAddressUtils {
public JSONObject getAllCountrys() {
try (
//读取文件为字节流
InputStream file = this.getClass().getResourceAsStream("/resourcesfile/worldAddress.txt");
//字节流转化为字符流,以UTF-8读取防止中文乱码
InputStreamReader in = new InputStreamReader(file, "UTF-8");
//加入到缓存
BufferedReader buf = new BufferedReader(in);
) {
String str = "";
while ((str = buf.readLine()) != null) {
System.out.println(str);
}
}catch (IOException e) {
e.printStackTrace();
}
}
}


推荐阅读
  • Ihavethefollowingonhtml我在html上有以下内容<html><head><scriptsrc..3003_Tes ... [详细]
  • HDU 2372 El Dorado(DP)的最长上升子序列长度求解方法
    本文介绍了解决HDU 2372 El Dorado问题的一种动态规划方法,通过循环k的方式求解最长上升子序列的长度。具体实现过程包括初始化dp数组、读取数列、计算最长上升子序列长度等步骤。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 猜字母游戏
    猜字母游戏猜字母游戏——设计数据结构猜字母游戏——设计程序结构猜字母游戏——实现字母生成方法猜字母游戏——实现字母检测方法猜字母游戏——实现主方法1猜字母游戏——设计数据结构1.1 ... [详细]
  • 导出功能protectedvoidbtnExport(objectsender,EventArgse){用来打开下载窗口stringfileName中 ... [详细]
  • Java太阳系小游戏分析和源码详解
    本文介绍了一个基于Java的太阳系小游戏的分析和源码详解。通过对面向对象的知识的学习和实践,作者实现了太阳系各行星绕太阳转的效果。文章详细介绍了游戏的设计思路和源码结构,包括工具类、常量、图片加载、面板等。通过这个小游戏的制作,读者可以巩固和应用所学的知识,如类的继承、方法的重载与重写、多态和封装等。 ... [详细]
  • PHP图片截取方法及应用实例
    本文介绍了使用PHP动态切割JPEG图片的方法,并提供了应用实例,包括截取视频图、提取文章内容中的图片地址、裁切图片等问题。详细介绍了相关的PHP函数和参数的使用,以及图片切割的具体步骤。同时,还提供了一些注意事项和优化建议。通过本文的学习,读者可以掌握PHP图片截取的技巧,实现自己的需求。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • 本文介绍了关于apache、phpmyadmin、mysql、php、emacs、path等知识点,以及如何搭建php环境。文章提供了详细的安装步骤和所需软件列表,希望能帮助读者解决与LAMP相关的技术问题。 ... [详细]
  • [大整数乘法] java代码实现
    本文介绍了使用java代码实现大整数乘法的过程,同时也涉及到大整数加法和大整数减法的计算方法。通过分治算法来提高计算效率,并对算法的时间复杂度进行了研究。详细代码实现请参考文章链接。 ... [详细]
  • 标题: ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • 本文介绍了一个题目的解法,通过二分答案来解决问题,但困难在于如何进行检查。文章提供了一种逃逸方式,通过移动最慢的宿管来锁门时跑到更居中的位置,从而使所有合格的寝室都居中。文章还提到可以分开判断两边的情况,并使用前缀和的方式来求出在任意时刻能够到达宿管即将锁门的寝室的人数。最后,文章提到可以改成O(n)的直接枚举来解决问题。 ... [详细]
  • 3.223.28周学习总结中的贪心作业收获及困惑
    本文是对3.223.28周学习总结中的贪心作业进行总结,作者在解题过程中参考了他人的代码,但前提是要先理解题目并有解题思路。作者分享了自己在贪心作业中的收获,同时提到了一道让他困惑的题目,即input details部分引发的疑惑。 ... [详细]
author-avatar
苦咖啡青柠檬
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有