项目的工程目录入如下:
从类路径(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 基础总结