相对路径、绝对路径、"./"和 “…/“及”…/…/”
相对路径:相对于目标资源的路径。如"./text.txt",表示当前目录下的text.txt文本文件。
绝对路径:表示从盘符开始的路径,如"E:/java练习/text.txt"
"./text.txt"表示当前目录,其中"./"可以省略
"../text.txt"表示上一层目录
"../../text.txt"表示上上一层目录
"../../../text.txt"一次类推
文件路径中既可以写"/",又可以写转义字符" \"。
但是写法有区别:
如果是"/",则可以写任意多个
FILE *fin=fopen("..//..//data/0.dat","rb");
FILE *fin=fopen("..//..//data0.dat","rb");
如果是"",只能写偶数个
FILE *fin=fopen("..\\..\\data\\0.dat","rb");
FILE *fin=fopen("..\\\\\\..\\data\\0.dat","rb");
https://blog.csdn.net/sandalphon4869/article/details/86767978?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control
public class PathDemo {
public static void main(String[] args) throws IOException {
// G:\spring-course\LinkedList\a.txt
// a.txt
// src/Random/a.txt
//该方式移植性差,在idea中默认的当前路径是project的根,如果该代码离开Idea,该路径就无效了
// FileReader fr=new FileReader("LinkedList\\src\\Random\\a.txt");
// int read = fr.read();
// System.out.println(read);
// fr.close();
/*
*凡是在src下的都是类路径下,src是类的根路径。
* 该方式的前提是文件在类路径下
* 该方式获取绝对路径是通用的
*/
String path = Thread.currentThread().getContextClassLoader().getResource("Random/a.txt").getPath();
System.out.println(path);
InputStream is=Thread.currentThread().getContextClassLoader().getResourceAsStream("Random/a.txt");
int read = is.read();
System.out.println(read);
}
}