springboot 项目中读取资源文件内容 如图片、文档文件_diaolong123123的博客-程序员秘密

技术标签: java  后端  

1 问题描述:在 springboot 项目中有时候会需要读取一些资源文件,例如 office的 docx 文档或者 png、jpg的图片。在多模块项目中资源文件需要放到启动项目的 Resources 文件夹

示例代码如下:

InputStream pngInStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("img.png");
        ByteArrayOutputStream out = new ByteArrayOutputStream();
        byte[] buffer = new byte[1024];
        int n;
        while ((n = pngInStream.read(buffer)) != -1) {
            out.write(buffer,0,n);
        }
        System.out.println(out.toByteArray());

可以将 Resources 目录下的 img.png 图片读取出来,存放到 out 对象中。

在应用中涉及到 io 操作时最好将数据转换成 io 流,提高运算速度,可以到内存中运算。ByteArrayOutputStream, ByteArrayInputStream

不要使用 InputStream.avaiable() 方法,在不同系统中读到的数据可能不一样

转载于:https://www.cnblogs.com/zhaopengcheng/p/10539894.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/diaolong123123/article/details/102453253

智能推荐

cmd找不到conda以及通过cmd启用Anaconda中的Python环境(base)_cmd进入conda环境_青木_JUST的博客-程序员秘密

cmd找不到conda以及通过cmd启用Anaconda中的Python环境(base)1、在系统环境中添加Anaconda路径2、通过cmd启用Anaconda中的Python环境(base)3、参考为了解决上篇文章中说的AnacondaPrompt.lnk文件问题,一开始我以为只能通过这个快捷方式启动Anaconda的Python环境,而且每次都是使用cmd运行AnacondaPrompt.lnk来进入Python环境,今天突法奇想,搜了一下,搜到了解决这个问题的办法,参看 这篇,特此记录。1、在系

快播王欣的马桶 MT 刚面世就被微信“封杀”_CSDN资讯的博客-程序员秘密

「时不我待,蛰伏修炼」,被盛赞为“中国最牛产品经理”的前快播创始人王欣终于出关了。在时隔不到一年的时间,带着全新社交产品“马桶MT”王者回归,希望以此为突破口能够东山再起,然而万万没想到的是,新品刚冒出了个头,就被社交一哥腾讯微信当头一棒。1 月 15 日,在众多科技圈人士看来,是前快播 CEO 王欣带着新成立的云歌人工智能、快速占领市场流量的张一鸣带着字节跳动、锤子科技投资的技术黑马...

Linux临时或永久修改DNS_linux dns改为_Shawn.Hu的博客-程序员秘密

http://wangheng.org/linux-temporarily-or-permanently-modify-the-dns.html最近给VPS重装了系统,因为服务商不提供DHCP,所以只好手动设置IP和DNS Server。悲催的是系统重装的时候忘记了输入DNS Server,最后导致进去系统后,各种域名无法解析。Linux中修改DNS有两种方式,临时修改和永久修改,下面

Opencv中防止像素数据溢出介绍_航行在蓝天的蚂蚱的博客-程序员秘密

我们在通过Opencv操作像素数据的时候,很容易就会使得颜色值超出255,在Opencv中有一个函数就可以解决这一问题。 saturate_cas 比如我们想增加一张图片的亮度,那么我们需要作如下操作:JNIEXPORT jintArray JNICALLJava_com_xy_opencv_ndk_1opencv002_MainActivity_lightImage(JNIE

linux使用经验笔记_iteye_3126的博客-程序员秘密

yum举例:比如下载了一个没有签名的软件包,可以这样安装1. yum --nogpgcheck install 软件包名称复制代码,我一般习惯先su到root,再用yum。网上很多直接再普通用户下用yum的用法,这个例子就应该是这样的1. su -c 'yum --nogpgcheck install 软件包名称‘复制代码我觉得如...

解决pytorch Error loading caffe2_detectron_ops_gpu.dll的错误_星辰辰大海的博客-程序员秘密

报错信息如下:C:\software\Anaconda3\envs\pytorch_190\python.exe C:/Users/stars_ocean/Desktop/PyTorch_test_folder/模型测试.pyTraceback (most recent call last): File "C:/Users/stars_ocean/Desktop/PyTorch_test_folder/timm模型测试.py", line 1, in <module> imp

随便推点

2021-7-20_wanghe.ok的博客-程序员秘密

1、统计出/etc/passwd文件中其默认shell为非/sbin/nologin的用户个数,并将用户都显示出来答:显示用户 cat /etc/passwd | egrep -v '/sbin/nologin' | cut -d":" -f1统计用户个数 cat /etc/passwd | egrep -v '/sbin/nologin' | cut -d":" -f1 | wc -l2、查出用户UID最大值的用户名、UID及shell类型答:cat /etc/passwd |..

Nginx 做为代理服务器注意文件上传配置这块参数。否则会出现上传有时成功,有时失败的情况。千万记得设置。..._weixin_34368949的博客-程序员秘密

Nginx 做为代理服务器注意文件上传配置这块参数。否则会出现上传有时成功,有时失败的情况。千万记得设置。 

fatal: not a git repository (or any of the parent d和error: src refspec master does not match any_是不想再当小白的黑的博客-程序员秘密

在使用github,把本地仓库连接到远程仓库时,分别报了两个错误fatal: not a git repository (or any of the parent d和error: src refspec master does not match any这是因为我的当前bash的目录并不在本地仓库下,进入本地仓库的目录下后倒是可以正常使用。...

LPC3250 Perpheral IO Mapping_weixin_34075268的博客-程序员秘密

LPC3250 IO空间图机器描述    在board-smartarm3250.c中实现:MACHINE_START (LPC3XXX, "SmartARM3250 board with the LPC3250 Microcontroller")          /* Maintainer: Kevin Wells, NXP Semiconductors */       ...

调用 jquery 的replace函数实现 replaceAll 效果_dirk_cong的博客-程序员秘密

jquery 不支持 replaceAll使用 .replace(new RegExp(",","g"), "") 为变种写法  懂得就懂了 不懂的我也没办法<td class="box" align="center"> 金额:<b id="purchValidationSum">0.00</b>

9.401 - Palindromes_weixin_34318272的博客-程序员秘密

2019独角兽企业重金招聘Python工程师标准>>> ...

推荐文章

热门文章

相关标签