IDE⼯具运⾏Java和jar包运⾏时的⽂件路径问题有时候遇到Java代码中出现相对路径时,会⽐较疑惑⽂件路径的问题,所以做了⼀个测试,分别测试了如下代码中的三种情况:
import java.io.File;
import java.io.IOException;
public class TestPath {
public static void main(String[] args) throws IOException {
//  String path1 = "../file/aaa";
//  String path2 = "../file/aaa/bbb";
//  String path3 = "../file/aaa/";
//  String path1 = "/file/aaa";
//  String path2 = "/file/aaa/bbb";
//  String path3 = "/file/aaa/";
String path1 = "file/aaa";
String path2 = "file/aaa/bbb";
String path3 = "file/aaa/";
File file1 = new File(path1);
File file2 = new File(path2);
File file3 = new File(path3);
System.out.println("file1:" + file1.mkdirs());
System.out.println("file2:" + file2.mkdir());
System.out.println("file3:" + ateNewFile());
}
}
项⽬的绝对路径为:D:\project\testPath
其中testPath为项⽬名称。
⽤IDE⼯具运⾏时:
路径:
不加“/”,直接在项⽬的根⽬录下(即testPath⽬录下,也就是src同级⽬录中)⽣成⽂件
加“/”,在项⽬所在盘符的根⽬录下⽣成⽂件(即在D:盘下)
java编译器ide最新版下载加“../”,在项⽬所在⽬录中(即D:\project⽬录下,也就是项⽬同级⽬录中)⽣成⽂件
如果打成jar包运⾏时:(假设jar包位于:D:\project\jar⽂件夹下)
路径:
不加“/”,和jar包同级的⽬录下⽣成⽂件(D:\project\jar⽂件夹下)
加“/”,在jar包所在盘符的根⽬录下⽣成⽂件(D:盘下)
加“../”,在jar包的上级⽬录中⽣成⽂件(D:\project⽂件夹下)
总结:
在项⽬中是以项⽬的根⽬录(src所在⽬录)为当前⽬录,
使⽤jar包,是以jar包所在位置为当前⽬录。
“/”表⽰的是⽂件所在位置的根路径(当前盘符),“../”表⽰所在位置的上⼀级路径,不加“/”则是项⽬根路径或jar的当前位置。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。