2 回答
TA贡献1839条经验 获得超15个赞
首先要事。如果您正确处理错误,您就可以找出代码不起作用的原因。您忽略了调用时引发的错误iotuil.ReadFile(text)
。只需添加适当的治疗,您就会清楚为什么它不起作用
file, err := ioutil.ReadFile(text) if err != nil { log.Fatal(err) }
: 没有这样的文件或目录
您的程序无法运行的原因可能是因为您的变量中有换行符text
。
“ ReadString 读取直到输入中第一次出现 delim,返回包含分隔符之前的数据的字符串。 ”
从保存用户输入的变量中删除类似中断的字符,它应该可以工作,假设输入实际上与现有文件(包括其正确的路径)匹配。
func main() {
reader := bufio.NewReader(os.Stdin)
fmt.Print("Enter text: ")
text, _ := reader.ReadString('\n')
text = strings.TrimSuffix(text, "\n")
//Add the file path
//or else the user will be required to enter the entire file location
f := "path_to_the_file" + text
file, err := ioutil.ReadFile(f)
if err != nil {
log.Fatal(err)
}
fmt.Println(string(file))
}
TA贡献1817条经验 获得超6个赞
在这种情况下,我认为你最好进行简单的扫描:
var namefile string
fmt.Scan(&namefile)
content, err := ioutil.ReadFile(namefile)
if err != nil {
log.Fatal(err)
}
而不是添加一个\n然后将其删除。
- 2 回答
- 0 关注
- 120 浏览
添加回答
举报