Golang – File IO

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)
        }
    }
}

コメントを残す