java获取当前路径&读取当前目录下文件

时间:2023-03-09 03:42:11
java获取当前路径&读取当前目录下文件

项目目录如下:

java获取当前路径&读取当前目录下文件

test1.class中读取test.txt

import java.io.*;
import java.util.Scanner; public class Test1 { public static void main(String[] args) throws IOException {
Scanner in=new Scanner(System.in);
// String path=this.getClass().getClassLoader().getResource("/");
System.out.println(System.getProperty("user.dir")); // 注意,路径应为文件在工程中的相对路径
File f=new File("src/test.txt"); System.out.println(".......");
System.out.println(f.getPath());
System.out.println(f.getAbsolutePath());
System.out.println(f.getCanonicalPath());
BufferedReader reader=new BufferedReader(new FileReader(f));
String temp=null;
int line=1;
while((temp=reader.readLine())!=null){
System.out.println("line"+line+":"+temp);
line++;
} }
}

结果如下:

java获取当前路径&读取当前目录下文件

总结读取文件:

直接

//        注意,路径应为文件在工程中的相对路径
File f=new File("src/test.txt");

总结获取当前路径:

this.getClass().getClassLoader().getResource()

或

this.getClass().getClassLoader().getResources()

需要非静态函数中使用(main函数中不能使用)

System.getProperty("user.dir")

获取的是工程的根目录

f.getPath()

获取的是创建file对象时构造参数里填的值

f.getCanonicalPath()

获取的是文件绝对路径

f.getAbsolutePath()

获取的也是文件的绝对路径,但是不会解析.和..

参考:

https://www.cnblogs.com/franson-2016/p/5728280.html

https://www.cnblogs.com/xuyatao/p/6610986.html