java 关于相对路径和绝对路径那些事儿

java项目中路径分隔符:File.separator
相对路径
首先我们要知道相对路径指的是相对与jvm的启动路径,而jvm的启动路径在简单的java项目中通常是项目文件下的根目录
举例:
这样的一段代码(我在项目中截取的,outputfile=result.txt 、wordcount是项目名)java 关于相对路径和绝对路径那些事儿
结果为:java 关于相对路径和绝对路径那些事儿
可以看出result.txt是在项目的根目录下创建的
小知识点
. 和./表示当前目录下 …和…/表示上级目录
取到当前完整目录的方法
File f = new File(".")
String ap= f.getAbsolutePath();
Sys.o.p(ap);
java 关于相对路径和绝对路径那些事儿
常见的取得文件路径的方法

File file = new File("./filename");
取得路径方法
file.getXXX()
取得绝对路径
getCannonicalPath()特点纯绝对路径即
getAbsolutePath()获取的绝对路径由当前目录路径+文件路径即绝对路径+./+文件路径
取得相对路径:
getPath() 特点 路径构成由./+文件名即./filename
例图
java 关于相对路径和绝对路径那些事儿
java 关于相对路径和绝对路径那些事儿

****读取文件内容

使用类的相对路径
这种方法 “/” 代表的是bin src文件夹和resources 文件夹下的的东西都会被加载到bin下面 因为这两个文件被配置为了source

public void main() throws IOException{

File file = new File(main.class.getResource("/test.txt").getFile());
BufferedReader br = new BufferedReader(new FileReader(file));
String len = null;
while ((len=br.readLine())!=null){
    System.out.println(len);
}

}

参考:https://blog.****.net/my__Sun_/article/details/74450241