Goでファイルを読み込んだり書き出したりするために、Goの標準パッケージであるosパッケージを利用できる。
- os.Open():既存のファイルを読み込むとき使う。
- os.Create() :ファイルを作成するとき使う。
上記のメソッドは戻り値としてFileタイプをReturnする。
Read()、Write()を使って読み込んだり書きだしたりできる。
package main
import (
"io"
"os"
)
func main() {
// ファイルを開く
fi, err := os.Open("C:\\temp\\1.txt")
if err != nil {
panic(err)
}
defer fi.Close()
// 出力ファイル生成
fo, err := os.Create("C:\\temp\\2.txt")
if err != nil {
panic(err)
}
defer fo.Close()
buff := make([]byte, 1024)
for {
// 読み込み
cnt, err := fi.Read(buff)
if err != nil && err != io.EOF {
panic(err)
}
if cnt == 0 {
break
}
// 書き込み
_, err = fo.Write(buff[:cnt])
if err != nil {
panic(err)
}
}
}
