職案人

求職・歴史・仏教などについて掲載するつもりだが、自分の思いつきが多いブログだよ。適当に付き合って下さい。

go--ファイル入出力

2023年05月14日 | GO言語
単純なファイル入出力


【開発環境】
OS:Win11(64ビット)
go version go1.19.4 windows/amd64
VSCode1.72.2、及びコマンドプロンプト

◆単純な入出力
ファイルへの出力手順
1)os.Create()でファイルを作成
2)os.Write()で書き込み
3)os.Close()でファイルを閉じる

・サンプルプログラム「readwrite.go」
package main

import (
"fmt"
"os"
)

func main() {
//ファイル名
fname := "sample.dat" //「readwrite.go」と同じフォルダに作られる
var file *os.File
var err error

//ファイルへの書き込み
file, err = os.Create(fname)
if err != nil {
_ = fmt.Errorf("%sを開けません。", fname)
}
txt := "これはサンプルテキストです。"
file.Write(([]byte)(txt))
//ファイルを閉じる
file.Close()

const BUFSIZE = 1024 //読み込みバッファーサイズ

//ファイルからの読み込み
file, err = os.Open(fname)
if err != nil {
_ = fmt.Errorf("%sを開けません。", fname)
}
defer file.Close()

buf := make([]byte, BUFSIZE)

for {
n, err := file.Read(buf)
if n == 0 {
break
}
if err != nil {
_ = fmt.Errorf("%sを開けません。", fname)
break
}
fmt.Print(string(buf[:n]))
}
}

・実行
PS D:\GO言語\サンプルプログラム\Go-9> go run readwrite.go
これはサンプルテキストです。





コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« 排他制御 | トップ | バッファ付きIO »
最新の画像もっと見る

コメントを投稿

GO言語」カテゴリの最新記事