Go 言語では、ファイルの読み取りと変更は非常に一般的な要件です。この記事では、ファイルを開く、ファイル内容を削除する、ファイル情報を取得する、ファイルを元の状態に戻すなど、ファイルの操作方法を紹介します。
1. ファイルを開きます
os.OpenFile() 関数を使用してファイルを開きます。この関数は多くのパラメータを受け入れることができます。この場合、ファイル名とフラグを渡すだけです。
ファイル フラグは必要に応じて変更されます。たとえば、ファイルの末尾にコンテンツを追加する場合は、フラグを os.O_APPEND | os.O_WRONLY に設定する必要があります。
サンプルコード:
f, err := os.OpenFile("example.txt", os.O_RDWR, 0644) if err != nil { log.Fatal(err) } defer f.Close()
2. ファイル内容の削除
os.Truncate() 関数を使用して、ファイル内容を削除します。この関数は、オフセット パラメーターと長さパラメーターを受け入れます。オフセットは切り詰められるファイルの開始位置を表し、長さは切り詰められるバイト数を表します。
サンプルコード:
err := os.Truncate("example.txt", 0) if err != nil { log.Fatal(err) }
3. ファイル情報の取得
os.Stat() 関数を使用して、ファイルのメタデータを取得します。取得されるメタデータには、ファイル サイズ、変更時刻、ファイル モードなどが含まれます。
サンプル コード:
fi, err := os.Stat("example.txt") if err != nil { log.Fatal(err) } fmt.Println(fi.Size()) fmt.Println(fi.Mode()) fmt.Println(fi.ModTime())
4. ファイルを元の状態に復元する
ファイルを元の状態に復元する場合は、新しいコンテンツを追加する前に古いコンテンツをロードし、古いコンテンツをファイルに書き戻す必要があります。
サンプル コード:
// 读取原始内容 b, err := ioutil.ReadFile("example.txt") if err != nil { log.Fatal(err) } // 写入新内容 _, err = fmt.Fprint(f, "new content") if err != nil { log.Fatal(err) } // 将原始内容写回去 _, err = f.Seek(0, 0) if err != nil { log.Fatal(err) } _, err = f.Write(b) if err != nil { log.Fatal(err) }
上記は単純なファイル変更操作です。この記事がお役に立てば幸いです。
以上がgolangでファイルを操作する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。