ホームページ > バックエンド開発 > Golang > Golangでストリームからファイルを読み書きする方法は?

Golangでストリームからファイルを読み書きする方法は?

PHPz
リリース: 2024-06-04 09:37:58
オリジナル
511 人が閲覧しました

Go では、io パッケージを使用してストリームから読み取るか、ファイルに書き込むことができます。 ストリームからファイルを読み取る: バッファー付きリーダーを作成します。 ReadString メソッドまたは ReadBytes メソッドを使用して、ファイルを 1 行ずつ読み取ります。ファイルをストリームに書き込む: ファイルに書き込むには、WriteString 関数または WriteBytes 関数を使用します。

如何在 Golang 中从流中读取或写入文件?

Golang でストリームからファイルを読み書きする方法は?

Golang では、io パッケージを使用して、ストリームからの読み取りやファイルの書き込みを行うことができます。このパッケージは、入出力ストリームを操作するための一連の関数とインターフェイスを提供します。 io 包从流中读取或写入文件。该包提供了一组用于操作输入/输出流的函数和接口。

从流中读取文件

要从流中读取文件,您可以使用 bufio.NewReader 函数创建一个缓冲读取器,然后使用 ReadStringReadBytes 等方法读取文件。

package main

import (
    "bufio"
    "fmt"
    "os"
)

func main() {
    // 打开文件
    file, err := os.Open("file.txt")
    if err != nil {
        fmt.Println(err)
        return
    }
    defer file.Close()

    // 创建缓冲读取器
    reader := bufio.NewReader(file)

    // 逐行读取文件
    for {
        line, err := reader.ReadString('\n')
        if err == io.EOF {
            break
        }
        if err != nil {
            fmt.Println(err)
            return
        }

        // 处理每行
    }
}
ログイン後にコピー

向流中写入文件

要向流中写入文件,您可以使用 io.WriteStringio.WriteBytes

ストリームからのファイルの読み取り

ストリームからファイルを読み取るには、bufio.NewReader 関数を使用してバッファー リーダーを作成し、次に ReadString < /code> または <code>ReadBytes を使用してファイルを読み取ります。 🎜
package main

import (
    "fmt"
    "os"
)

func main() {
    // 打开文件
    file, err := os.Create("file.txt")
    if err != nil {
        fmt.Println(err)
        return
    }
    defer file.Close()

    // 写入文件
    _, err = file.WriteString("Hello, world!")
    if err != nil {
        fmt.Println(err)
        return
    }
}
ログイン後にコピー

ストリームにファイルを書き込む

🎜 ファイルをストリームに書き込むには、io.WriteString 関数または io.WriteBytes 関数を使用できます。 。 🎜りー

以上がGolangでストリームからファイルを読み書きする方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート