行业资讯 2025年08月6日
0 收藏 0 点赞 728 浏览 1294 个字
摘要 :

文章目录 1.将文件放入类路径 2.从类路径中读取文件 3.完整路径和相对路径 要在Java中从类路径(classpath)中读取文件,可以遵循以下步骤: 1.将文件放入类路径 Java应……




要在Java中从类路径(classpath)中读取文件,可以遵循以下步骤:

1.将文件放入类路径

Java应用程序的类路径通常包含以下位置:

  • 项目的根目录
  • /src/main/resources
  • 任何位置的文件在项目构建后被复制到/classes文件夹中

如果文件位于JAR文件中,将JAR文件添加到项目的lib文件夹或将JAR文件添加到项目的类路径中。需要验证的重要一点是文件是否被复制到项目的最终构建输出中,即JAR文件、WAR文件或EAR文件中。

2.从类路径中读取文件

要在类中从类路径中读取文件,我们需要获取尝试读取文件的类的系统类加载器的引用。

系统类加载器显然知道应用程序的其他路径。一旦有了文件引用,就可以使用多种方法来读取文件。

import java.io.File;
import java.io.IOException;
import java.net.URL;
public class ReadFileFromClasspath
{
  public static void main(String[] args) throws Exception
  {
    //To avoid referring non-static method inside main() static method
    ReadFileFromClasspath instance = new ReadFileFromClasspath();
    File file = instance.getFile(\"demo.txt\");
    //validate file path
    System.out.println(file.getPath());
    //Read file
    List<String> lines = Files.readAllLines(file.toPath());
    System.out.println(lines);
  }
  private File getFile(String fileName) throws IOException
  {
    ClassLoader classLoader = getClass().getClassLoader();
        URL resource = classLoader.getResource(fileName);
        if (resource == null) {
            throw new IllegalArgumentException(\"file is not found!\");
        } else {
            return new File(resource.getFile());
        }
  }
}

3.完整路径和相对路径

文件名可以以两种方式给出,即根目录路径和完整路径。

  • fileName.txt – 在构建文件夹的根路径(例如/bin、/build、/WEB-INF/classes等)中搜索文件。
  • com/howtodoinjava/io/demo.txt – 表示构建目录中文件的完整路径。在这种情况下,实际文件位于位置<project_root>/bin/com/howtodoinjava/io/demo.txt。

如果对从类路径中读取文件有任何问题,请随时提出相关问题。

微信扫一扫

支付宝扫一扫

版权: 转载请注明出处:https://www.zuozi.net/9456.html

管理员

相关推荐
2025-08-06

文章目录 一、Reader 接口概述 1.1 什么是 Reader 接口? 1.2 Reader 与 InputStream 的区别 1.3 …

988
2025-08-06

文章目录 一、事件溯源 (一)核心概念 (二)Kafka与Golang的优势 (三)完整代码实现 二、命令…

465
2025-08-06

文章目录 一、证明GC期间执行native函数的线程仍在运行 二、native线程操作Java对象的影响及处理方…

348
2025-08-06

文章目录 一、事务基础概念 二、MyBatis事务管理机制 (一)JDBC原生事务管理(JdbcTransaction)…

456
2025-08-06

文章目录 一、SnowFlake算法核心原理 二、SnowFlake算法工作流程详解 三、SnowFlake算法的Java代码…

517
2025-08-06

文章目录 一、本地Jar包的加载操作 二、本地Class的加载方法 三、远程Jar包的加载方式 你知道Groo…

832
发表评论
暂无评论

还没有评论呢,快来抢沙发~

助力内容变现

将您的收入提升到一个新的水平

点击联系客服

在线时间:08:00-23:00

客服QQ

122325244

客服电话

400-888-8888

客服邮箱

122325244@qq.com

扫描二维码

关注微信客服号