Java io流使用相对路径读取文件
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发布的转租信息呢。