JAVA
一、获取当前路径
idea启动时:项目的跟目录,jar包启动时:jar的跟目录
方式一:System方式
String property = System.getProperty("user.dir");
System.out.println("【getProjectPath】" + property);//D:\02src_my\java\study-demo
方式二:File方式
try {
String path = new File("").getCanonicalPath();
System.out.println("【getProjectPath】" + path);//D:\02src_my\java\study-demo
} catch (IOException e) {
}
二、获取编译之后class文件路径
idea启动时:target下目录,jar包启动时:jar中classes目录
方式一:classes的位置
File path1 = new File(this.getClass().getResource("/").getPath());
System.out.println("【getClassPath】" + path1);
//idea运行后结果 D:\02src_my\java\study-demo\java-base\target\classes
//jar包运行后结果 file:\C:\Users\Hello\Desktop\新建文件夹\java-base-1.0.0.jar!\BOOT-INF\classes!
方式二:classes的位置
String path2 = this.getClass().getClassLoader().getResource("").getPath();
System.out.println("【getClassPath】" + path2);
//idea运行后结果 /D:/02src_my/java/study-demo/java-base/target/classes/
//jar包运行后结果 file:/C:/Users/Hello/Desktop/新建文件夹/java-base-1.0.0.jar!/BOOT-INF/classes!
方式三:classes下指定文件的位置
File path3 = new File(this.getClass().getResource("").getPath());
System.out.println("【getClassPath】" + path3);
//idea运行后结果 D:\02src_my\java\study-demo\java-base\target\classes\com\xiang\base\javabase\demo
//jar包运行后结果 file:/C:/Users/Hello/Desktop/新建文件夹/java-base-1.0.0.jar!/BOOT-INF/classes!/com/xiang/base/javabase/demo/
方式四:classes下指定文件的位置
String path4 = this.getClass().getResource("").getPath();
System.out.println("【getClassPath】" + path4);
//idea运行后结果 /D:/02src_my/java/study-demo/java-base/target/classes/com/xiang/base/javabase/demo/
//jar包运行后结果 file:\C:\Users\Hello\Desktop\新建文件夹\java-base-1.0.0.jar!\BOOT-INF\classes!\com\xiang\base\javabase\demo
GO
一、获取电脑上的临时文件目录
windows下一般是在此路径:C:\Users\用户\AppData\Local\Temp
path := os.TempDir()
fmt.Println("path1==" + path)
二、获取运行时的绝对路径
可执行程序 exe 所在位置
func GetAppPath() string {
file, _ := exec.LookPath(os.Args[0])
path, _ := filepath.Abs(file)
index := strings.LastIndex(path, string(os.PathSeparator))
return path[:index]
}
以下不同启动方式的输出结果:
1、使用GoLand 软件运行:会在电脑的默认路径下直接放入exe文件,如:
exe的输出路径在GoLand中可以配置,具体修改看下放的补充。
2、使用命令:go run main.go:会在电脑的默认路径下建新的文件夹存放exe文件,如:
3、 运行exe文件:执行go build main.go ,再运行exe文件,就会是exe所在的目录,如:
三、获取当前目录的绝对路径
path2,_:=os.Getwd()
fmt.Println("path2==="+path2)
四、获取编译前项目的位置,一般不使用
补充
go服务build之后会生成一个 xxx.exe 文件,服务运行是执行的这个exe文件;
如果不修改项目的【输出目录】,默认这个exe文件存放在 C:\Users\Hello\AppData\Local\Temp 下。
如何修改【输出目录】: