项目的工程目录入如下:
Java中读取classpath下的文件-LMLPHP

从类路径(classpath)下读取文件:

我们读取resources目录下的StringUtils.java文件。
介绍几种常见的方法:

1.使用绝对路径法:
        File file = new File("D:\\ideaprojects\\qunar_works\\src\\main\\resources\\StringUtils.java");
        // 获取文件的文件名称
        System.out.println(file.getName());

缺点:与本地磁盘路径相关,可移植性太差。

2.使用相对路径(推荐使用)
URL resource = StatisticCodeLines.class.getClassLoader().getResource("StringUtils.java");
        File file = new File(resource.getFile());
        System.out.println(file.getName());
3.介绍其他几种api:

1.`获取一个inputStream文件输入流

    // 表示这样也可以从类路径下获取文件,只不过返回一个InputStream 对象
     InputStream inputStream = StatisticCodeLines.class.getClassLoader().getResourceAsStream("StringUtils.java");

inputStream 可以用作下面的代码:

BufferedInputStream bi = new BufferedInputStream(inputStream);

关于更多的java IO操作,参照Java IO 基础总结

11-04 18:25