项目目录如下:

369a75cc8d51c19d501b58c4a91cfc20.png

test1.class中读取test.txt

import java.io.*;importjava.util.Scanner;public classTest1 {public static void main(String[] args) throwsIOException {

Scanner in=newScanner(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(newFileReader(f));

String temp=null;int line=1;while((temp=reader.readLine())!=null){

System.out.println("line"+line+":"+temp);

line++;

}

}

}

结果如下:

fa5baae5b305c8e951d6a74c40d99bf4.png

总结读取文件:

直接

// 注意,路径应为文件在工程中的相对路径

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

Logo

更多推荐