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

时间:2022-09-09 12:03:19

 

项目目录如下:

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