Go fileへの書き込み方法のまとめ



Goを使ってファイルを書き込む方法がよく分からないので、挿入しました.
だから他の人にこんなことが起こらないようにコンテンツを共有したいのです
Go次の関数を使用してファイルを開くか作成します.
os.OpenFile() # 파일 플래그, 파일 모드를 지정하여 파일 열기가 가능해집니다.
os.Open() # 파일을 읽는 것을 목적으로 열립니다.
os.Create() # 명명된 파일 생성 또는 잘라냅니다.
os.Truncate() # 명명된 파일을 잘라냅니다.
OpenFileの詳細については、ここです。:)を参照してください.
まず、ファイルの書き込み方法について説明し、既存のファイルにテキストを追加する方法について説明します.
ファイルを先に作成する場合は、ファイルを開くか書き込みます.
ファイルを作成する方法はいくつかあります.ここです。を参照してください.
ioutilですWriteFile(), bufio.New Writer()を使用して作成
package main

import (
	"bufio"
	"fmt"
	"io/ioutil"
	"os"
)

func check(e error) {
	if e != nil {
		panic(e)
	}
}

func main() {
	b := []byte("Data to write5\n")

	f, err := os.Create("test1.txt")
	check(err)
	w := bufio.NewWriter(f)
	n, err := w.WriteString(string(b))
	check(err)
	fmt.Printf("wrote %d bytes\n", n)
	w.Flush()

	err = ioutil.WriteFile("test2.txt", b, 0644)
	check(err)
}
以上のコードを入力するとtest 1です.txt,test2.txtを作成します.
コードを簡単に紹介しましょう.ファイルのosを作成します.Createを使用これによりbufioがファイルを作成できます.
ioutilの場合、osです.ファイル名、入力するバイナリデータまたはモード(例えばOpen)のみを入力すると、書き込み可能になります.
✻ ps.os.OpenFileを使用してファイルを作成することもできます:)
ファイルの作成方法を理解した以上、appendを作成しましょう.
appendの方法について、私は2つを見つけました.
最初の方法はosです.Fileで提供されたseekを最後の位置に移動し、最後から書き込みを行います.
package main

import (
	"os"
)

func check(e error) {
	if e != nil {
		panic(e)
	}
}

func main() {
	b := []byte("Data to write5\n")
	f, err := os.OpenFile("./hello2.txt", os.O_RDWR, 0755)
	f.Seek(0, 2)
	defer f.Close()
	check(err)
	_, err = f.Write(b)
	check(err)
}
2つ目の方法はosです.OpenFileでOSを操作します.O APPENDフラグモードを設定します.
package main

import (
	"os"
)

func check(e error) {
	if e != nil {
		panic(e)
	}
}

func main() {
	b := []byte("Data to write4\n")
	f, err := os.OpenFile("./hello2.txt", os.O_APPEND|os.O_RDWR, 0755)
	defer f.Close()
	check(err)
	_, err = f.Write(b)
	check(err)
}
どちらの方法もOpenFileオペレーティングシステムを使用します.このappendを実行するには、O RDWRを追加する必要があります.
Goファイル書き込みについて簡単に説明します.