goland os.Open 路径错误

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jacke121/article/details/88408230
os.Open

报错原因:Open不是当前目录下查找,

项目取的是项目根目录,不是执行目录:证明如下:

exPath,_ := os.Getwd()
fmt.Println("expath",exPath)
file, err := os.Open(exPath+"/"+filename)

解决方法:

换成绝对路径:

1.

设置output directory 和Working directory:

都为run目录,打开文件就会冲这里找:

方法2:换成绝对路径:

ex, err := os.Executable()
if err != nil {
    panic(err)
}
exPath := filepath.Dir(ex)
file, err := os.Open(exPath+"/"+filename)
if err != nil {
    return nil, 0 ,0
}
defer file.Close()
stats, statsErr := file.Stat()
if statsErr != nil {
    return nil, 0,0
}
var totalSize int64 = stats.Size()
bytes := make([]byte, offset) 
retSize,_ := file.ReadAt(bytes, start)     
return bytes, retSize, totalSize 

猜你喜欢

转载自blog.csdn.net/jacke121/article/details/88408230
今日推荐