我有一个简单的代码,可以在两个实际文件之间进行复制。(它们在同一个磁盘上,但不确定是否相关。)
func copy(inPath, outPath string) {
inFile, err := os.Open(inPath)
if err != nil {
return fmt.Errorf("cannot open input file on path %q: %w", inPath, err)
}
defer inFile.Close()
outFile, err := os.Create(outPath)
if err != nil {
return fmt.Errorf("cannot create output file on path %q: %w", outPath, err)
}
defer outFile()
if _, err := io.Copy(inFile, outFile); err != nil {
return fmt.Errorf("cannot copy file %q to %q: %w", inPath, outPath, err)
}
}
我现在不确定,如果我应该或不应该使用bufio读者或作家或两者兼而有之。
也就是说,如果我应该做类似的事情
func copy(inPath, outPath string) {
inFile, err := os.Open(inPath)
if err != nil {
return fmt.Errorf("cannot open input file on path %q: %w", inPath, err)
}
defer inFile.Close()
outFile, err := os.Create(outPath)
if err != nil {
return fmt.Errorf("cannot create output file on path %q: %w", outPath, err)
}
defer outFile()
if _, err := io.Copy(bufio.NewWriter(outFile), bufio.NewReader(inFile)); err != nil {
return fmt.Errorf("cannot copy file %q to %q: %w", inPath, outPath, err)
}
}
bufio 文档根本没有告诉我什么时候使用它,什么时候不使用它。
互换的青春
相关分类