Java 路径问题完全解答(一),相对路径与绝对路径
每个程序员都会遇到读取文件时的路径问题,我在这里对 Java 路径问题做下较为全面的讲解,方便忘记的时候查看。
JavaSE 路径问题
前提注意
Java 中的 \ 表示转意字符,无法标识路径符号,如果需要表示路径要 \(我推荐使用 / )相对路径
相对路径的写法
File file1 = new File("test.txt");
File file1 = new File("./test.txt");
相对路径的起点是工程目录,比如我的是:E:\JavaSeWorkspace\14-12-05_JavaSePathProblem。
这个路径是会随着,工程信息的变化自动适应的。
读取工程目录下,data 文件夹下的文件:
File file1 = new File("data/test.txt");
读取 Src 下的文件:
File file1 = new File("src/test.txt");
获取包路径下的文件,注意包的文件夹目录结构:
File file1 = new File("src/com/mikuscallion/test/test.txt");
相对路径常见错误写法
File file1 = new File("/test.txt"); //报错,找不到路径
File file1 = new File("\test.txt"); //报错,找不到路径,实际上 \t 变成了制表符号 tab
File file1 = new File("\\test.txt"); //报错,找不到路径
绝对路径
以这个 E:/(盘符)打头的路径就是绝对路径:
File file1 = new File("E:/JavaSeWorkspace/14-12-05_JavaSePathProblem/test.txt");
绝对路径是写死的,最好别用。
总结
java 的相对路径,相对的是 .class,而不是 .java。因为实际运行的是 .class。
相对路径出错的时候,去看看实际工程的文件结构,看看 .class 的位置,一般都能解决。
PS: TIME MAGIC 系列文章年代久远,无法保证其完全正确性。
封面图来自:砂時計文章来源:
Author:大刀分享站-dddog.com.cn
link:http://www.dddog.com.cn/tutorial/time-magic-8/