这个问题在工作中经常遇到,做个笔记以免忘记!
通常我们在开发中本地读取文件在类似在springboot目录下如下:

我们可以各种方法读取到文件路径并且包括文件内容,但是项目打成jar上传到服务器后,很多方式不可取读取报错;原因就是打成jar后读取方式的不同拿到不同路径,不管哪种方式 new File()这种是不行的,解析不了,我们可以解压jar看到具体路径大概就知道了;读取出来的路径类似:file:/topcloud-manage/adaptor/comtop-manage-adaptor-core-0.0.1-SNAPSHOT.jar!/BOOT-INF/classes!/template/server.yaml
在这种情况下,如果想在jar中读取到自己的资源文件,可以通过类加载器的getResourceAsStream方法来解决,
所以读取文件一般按流去读取如下:

读取文件路径方式譬如:
String path= test.class.getResource("/template/server.yaml").getPath();
或者使用工具类获取classpath路径:
1.ClassLoaderUtil.getClassPath();
2.test.class.getResource("/").getPath();
效果一样

关于java本地读取文件和打包成jar上传到服务器读取的区别相关推荐

  1. 把文件或者文件夹打包成jar

    手动打包可以给任何文件夹打包,但是打包的文件夹中必须存在MANIFEST.MF文件,一般是在文件夹中有一个META-INF文件夹,在该文件夹中放MANIFEST.MF文件,如果没有,你可以创建META ...

  2. 服务器监控文件变化,如何使用nodejs监控文件变化并使用sftp上传到服务器

    如何使用nodejs监控文件变化并使用sftp上传到服务器 发布时间:2021-07-01 12:06:56 来源:亿速云 阅读:99 作者:小新 这篇文章主要为大家展示了"如何使用node ...

  3. node 自动上传文件到服务器,利用nodejs监控文件变化并使用sftp上传到服务器

    最近在用react+express做一个自己的工具型网站(其实就是夺宝岛抢拍器) 然后因为经常要改动,而且又要放到服务器上进行测试.总是要webpack,然后手动把文件上传上去,不胜其烦,索性搜索了下 ...

  4. java post 多文件报头_Spring MVC-------文件上传,单文件,多文件,文件下载

    Spring MVC框架的文件上传是基于 commons-fileupload 组件的文件上传,只不过SpringMVC 框架在原有文件上传组件上做了进一步封装,简化了文件上传的代码实现,取消了不同上 ...

  5. 知道服务器地址上传网页文件,修改的网页怎么上传到服务器地址

    修改的网页怎么上传到服务器地址 内容精选 换一换 将文件上传至Windows云服务器一般会采用MSTSC远程桌面连接的方式.本节为您介绍本地Windows计算机通过远程桌面连接,上传文件至Window ...

  6. java文件打包jar文件_Java打包成jar文件,以及将jar文件导出为exe文件方法汇总(图形说明)...

    方法一:用j2ewiz,使用方法如下: 操作步骤: 1.         双击j2ewiz.exe,出现软件注册窗口,点击下一步. 2.         选择待转换的Jar文件及最低Jvm版本.我选择 ...

  7. java中excel文件的导入,限制上传的文件类型,文件的大小,显示上传文件的进度条...

    1. 前台代码 1 <!DOCTYPE html> 2 <html lang="en" xmlns:th="http://www.thymeleaf.o ...

  8. java的sftp文件传输_java使用SFTP上传文件到资源服务器方法详解

    java使用SFTP上传文件到资源服务器 本文实例为大家分享了java实现SFTP上传文件到资源服务器工具类,供大家参考,具体内容如下 首先得创建连接sftp服务器的公共类MySftp.java: p ...

  9. nginx 读取文件_Nginx的提升php上传下载

    Nginx广泛应用在各个服务器上,之前一篇笔记里面写了如何用php下载文件,里面写了两种方法来下载文件 nginx配置直接try_files下载文件 php读取文件之后再输出 对于第二种方法,php- ...

最新文章

  1. 惹女友生气了不用慌用python做一个3D立体花朵送女友
  2. Node学习9-gulp
  3. FMDB:中的用法介绍
  4. omnicppcomplete - a Vim plugin [转载]
  5. mysql server uuids_master and slave have equal MySQL server UUIDs 解决方法
  6. Lambda表达式替代匿名方法
  7. 命令 启动顺序_笔记一: 启动选项与系统变量
  8. 页面那些位置是投放广告的最佳位置
  9. LeetCode(437)——路径总和 III(JavaScript)
  10. Python中subprocess学习
  11. Web网站压力测试工具
  12. 第十章(项目沟通管理)知识点
  13. 用latex写英文论文
  14. php简历怎么写比较出彩,如何让简历出彩 简历吸引人有几个方面
  15. Boost serialization
  16. 如何将HEXO部署到虚拟主机上
  17. Java:控制反转(IoC)与依赖注入(DI)
  18. 被遗忘的Windows快捷键
  19. 微信内置浏览器 缓存清理
  20. 关于python-scrapy框架爬取微博转发的信息

热门文章

  1. Unity3D——学习分享(四)代码控制立方体的移动旋转
  2. java 文件换行符作为分隔符
  3. 计算机五种快捷键,电脑截图方法只会「Ctrl+Alt+A」!5个电脑软件轻松搞定各种截图-win7截图快捷键...
  4. 锁定计算机的renwulan,在电脑的任务栏上如何将软件锁定或解除锁定
  5. E-BOM跟M-BOM区别在那里?
  6. Swagger是什么
  7. [Q学习]14 Qt状态机框架——进入和退出状态2
  8. 如何在VirtualJudge建比赛
  9. 首位中国AI主播出现但不稀奇,天猫精灵每天都能给你读新闻
  10. bad file descriptor