通过传递路径打开文件可在Linux上使用,但不能在Windows上使用

时间:2019-05-17 07:52:33

标签: linux windows go

我为我的工作编写了一个小程序,将其打开一个文件并检索一些我需要的信息,然后将它们放入2个新文件中。

我在计算机上编写了代码,它可以按预期工作,但是我在Ubuntu上,我需要在Windows上工作时使用此工具,然后它崩溃。

The filename, directory name or volume label syntax is incorrect.

goroutine 1 [running]:
main.check(...)
        C:/Users/GADC/go/Natstar-util/listerDll/main.go:80
main.main()
        C:/Users/GADC/go/Natstar-util/listerDll/main.go:18 +0x8d5
exit status 2

这是我的代码:

func main() {
    reader := bufio.NewReader(os.Stdin)
    fmt.Print("Entrez le chemin de votre export: ")

    filepath, err := reader.ReadString('\n')
    check(err)

    file, err := os.Open(strings.Split(filepath,"\n")[0])
    check(err)

    defer file.Close()
}


func check(e error) {
    if e != nil {
        panic(e)
    }
}

如果有人有帮助我的想法,那就太好了。 谢谢:)

[编辑]这里只是一段错误的代码。

1 个答案:

答案 0 :(得分:0)

[已解决]

@eryksun是正确的。问题是我在“ \ n”而不是“ \ r \ n”上分割了路径。

现在可以使用了。

感谢所有人:)