Java io流使用相对路径读取文件

前言: 在大多数时候我们会需要Java程序读取某个文件,不采用绝对路径读取文件,而采用相对路径读取。方法如下:

在工程目录下读取文件:

文件目录:
在这里插入图片描述

/**
 * 工程目录下的相对路径读取文件数据
 */
public void pathIO() throws IOException {
    String filePath = "src/iofile/file.txt";
    String line = "";
    FileReader fileReader = new FileReader(filePath);
    BufferedReader bufferedReader = new BufferedReader(fileReader);
    line = bufferedReader.readLine();
    while (line != null){
        line = bufferedReader.readLine();
        System.out.println(line);
    }
}

控制台
在这里插入图片描述

注意: 代码中文件路径“src”是必加的,若使用平常的相对路径,如:“…/iofile/file.txt”等相对路径,程序执行后会报找不到文件路径的错误,所以需加上src等字样。这种方法无论何时都得加一个工程目录,若是在cmd中使用jdk编译运行,岂不是很麻烦嘛?别急,看下一种方法。

非工程目录下的相对路径读取文件

这种方法属于取巧的,首先获取文件所在路径,然后依靠一系列的拼接裁剪字符串获得绝对路径,即可。

代码如下:

/**
 * 非工程目录下的相对路径获取文件数据
 * @throws IOException
 */
public void noProcessPath() throws IOException {
    String filePath = getClass().getResource("file.txt").getPath();
    System.out.println("filePath: "+filePath);
    filePath = filePath.substring(1);   //裁剪字符串获得正确路径
    System.out.println("filePath: " + filePath);
    FileReader fileReader = new FileReader(filePath);
    BufferedReader bufferedReader = new BufferedReader(fileReader);
    String line = bufferedReader.readLine();
    while (line != null){
        line = bufferedReader.readLine();
        System.out.println(line);
    }
}

控制台:

在这里插入图片描述
总结:
至此,这篇笔记到此结束。


北京市需要租房或者转租房子,找舍友合租的都可以关注这个公众号哦,可帮忙发布房源信息,上面也有uu发布的转租信息呢。
请添加图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值