JAVA读取绝对路径文件和项目类路径下的文件的方法

简介: JAVA读取绝对路径文件和项目类路径下的文件的方法

开发过程中经常遇到读取文件的操作,主要是要JAVA原生或者框架工具包里的方法,下面介绍四种方法,两种读取绝对路径,两种读取类路径下的文件的方法:

//1、JAVA原生读取绝对路径InputStreaminput=newFileInputStream("C:\\code\\study\\Springboot26Demo\\src\\main\\resources\\graphql\\test.gqls");
intlen=input.available();
byte[] bytes=newbyte[len];
input.read(bytes);
input.close();
Stringcontent=newString(bytes,"UTF-8");
System.out.println(content);
//2、JAVA原生读取Classpath路径 graphql/test.gqls存放在src\\main\\resources目录下ClassLoaderloader=FileReadMain.class.getClassLoader();
InputStreaminput=loader.getResourceAsStream("graphql/test.gqls");
intlen=input.available();
byte[] bytes=newbyte[len];
input.read(bytes);
input.close();
Stringcontent=newString(bytes,"UTF-8");
System.out.println(content);
//3、Spring工具读取绝对路径Resourceresource=newFileSystemResource("C:\\code\\study\\Springboot26Demo\\src\\main\\resources\\graphql\\test.gqls");
InputStreaminput=resource.getInputStream();
intlen=input.available();
byte[] bytes=newbyte[len];
input.read(bytes);
input.close();
Stringcontent=newString(bytes,"UTF-8");
System.out.println(content);
//4、Spring工具读取Classpath路径 graphql/test.gqls存放在src\\main\\resources目录下Resourceresource=newClassPathResource("graphql/test.gqls");
InputStreaminput=resource.getInputStream();
intlen=input.available();
byte[] bytes=newbyte[len];
input.read(bytes);
input.close();
Stringcontent=newString(bytes,"UTF-8");
System.out.println(content);

如果使用Spring框架那么Spring-core的io包下封装了很多与文件,路径等资源有关的类,可以优先考虑使用。

目录
相关文章
|
3天前
|
存储 安全 算法
Java容器及其常用方法汇总
Java Collections框架提供了丰富的接口和实现类,用于管理和操作集合数据。
Java容器及其常用方法汇总
|
5天前
|
存储 缓存 Java
java语言后台管理ruoyi后台管理框架-登录提示“无效的会话,或者会话已过期,请重新登录。”-扩展知识数据库中密码加密的方法-问题如何解决-以及如何重置若依后台管理框架admin密码-优雅草卓伊凡
java语言后台管理ruoyi后台管理框架-登录提示“无效的会话,或者会话已过期,请重新登录。”-扩展知识数据库中密码加密的方法-问题如何解决-以及如何重置若依后台管理框架admin密码-优雅草卓伊凡
20 3
java语言后台管理ruoyi后台管理框架-登录提示“无效的会话,或者会话已过期,请重新登录。”-扩展知识数据库中密码加密的方法-问题如何解决-以及如何重置若依后台管理框架admin密码-优雅草卓伊凡
|
11天前
|
存储 算法 Java
解锁“分享文件”高效密码:探秘 Java 二叉搜索树算法
在信息爆炸的时代,文件分享至关重要。二叉搜索树(BST)以其高效的查找性能,为文件分享优化提供了新路径。本文聚焦Java环境下BST的应用,介绍其基础结构、实现示例及进阶优化。BST通过有序节点快速定位文件,结合自平衡树、多线程和权限管理,大幅提升文件分享效率与安全性。代码示例展示了文件插入与查找的基本操作,适用于大规模并发场景,确保分享过程流畅高效。掌握BST算法,助力文件分享创新发展。
|
3天前
|
Java API
java.time常用方法汇总
`java.time` API 是从 Java 8 开始引入的时间日期处理库,旨在替代老旧的 `java.util.Date` 和 `Calendar`。它提供了更简洁、强大和灵活的方式处理日期、时间、时区及时间间隔,支持全球化和时间计算需求。API 包含获取当前时间、创建指定时间、解析和格式化字符串、进行加减运算、比较时间、获取年月日时分秒、计算时间间隔、时区转换以及判断闰年等功能。示例代码展示了如何使用这些功能,极大简化了开发中的时间处理任务。
|
22天前
|
Java 程序员 调度
Java 高级面试技巧:yield() 与 sleep() 方法的使用场景和区别
本文详细解析了 Java 中 `Thread` 类的 `yield()` 和 `sleep()` 方法,解释了它们的作用、区别及为什么是静态方法。`yield()` 让当前线程释放 CPU 时间片,给其他同等优先级线程运行机会,但不保证暂停;`sleep()` 则让线程进入休眠状态,指定时间后继续执行。两者都是静态方法,因为它们影响线程调度机制而非单一线程行为。这些知识点在面试中常被提及,掌握它们有助于更好地应对多线程编程问题。
55 9
|
弹性计算 数据可视化 关系型数据库
阿里云服务器部署Java Web项目和连接MySQL数据库全流程
阿里云服务器部署Java Web项目和连接MySQL数据库全流程
6161 0
阿里云服务器部署Java Web项目和连接MySQL数据库全流程
|
2月前
|
NoSQL Java 关系型数据库
Liunx部署java项目Tomcat、Redis、Mysql教程
本文详细介绍了如何在 Linux 服务器上安装和配置 Tomcat、MySQL 和 Redis,并部署 Java 项目。通过这些步骤,您可以搭建一个高效稳定的 Java 应用运行环境。希望本文能为您在实际操作中提供有价值的参考。
182 26
|
6月前
|
Java 应用服务中间件 Windows
【应用服务 App Service】App Service 中部署Java项目,查看Tomcat配置及上传自定义版本
【应用服务 App Service】App Service 中部署Java项目,查看Tomcat配置及上传自定义版本
|
9月前
|
存储 Java Maven
使用 nohup 部署和后台运行Java 项目
使用 nohup 部署和后台运行Java 项目
479 1
使用 nohup 部署和后台运行Java 项目
|
6月前
|
Java 开发工具 git
【Azure 应用服务】本地Git部署Java项目到App Server,访问无效的原因
【Azure 应用服务】本地Git部署Java项目到App Server,访问无效的原因