ホームページ > バックエンド開発 > Golang > golang で os.Stat 関数を使用してファイル情報を取得する方法

golang で os.Stat 関数を使用してファイル情報を取得する方法

王林
リリース: 2023-11-18 14:02:20
オリジナル
1293 人が閲覧しました

golang で os.Stat 関数を使用してファイル情報を取得する方法

golang で os.Stat 関数を使用してファイル情報を取得する方法には、特定のコード例が必要です

最新のプログラミング言語として、Golang (Go とも呼ばれる) は次の機能を提供します。開発者は、ほとんどのプログラミング ニーズを満たす豊富なファイルおよびディレクトリ操作関数を含む豊富な標準ライブラリを利用できます。

その中で、os パッケージは、オペレーティング システムの機能を操作するために使用される Golang の標準ライブラリの 1 つです。このパッケージには多くの便利な関数とメソッドが含まれており、その 1 つが Stat 関数です。この機能により、開発者は指定したファイルの詳細情報を取得することができます。

以下、os.Stat関数を使ってファイル情報を取得する方法と具体的なコード例を紹介します。

package main

import (
    "fmt"
    "log"
    "os"
)

func main() {
    filename := "test.txt"
    
    // 调用Stat函数获取文件信息
    fileInfo, err := os.Stat(filename)
    if err != nil {
        log.Fatal(err)
    }
    
    // 输出文件信息
    fmt.Println("文件名:", fileInfo.Name())
    fmt.Println("权限:", fileInfo.Mode())
    fmt.Println("大小:", fileInfo.Size(), "bytes")
    fmt.Println("最后访问时间:", fileInfo.ModTime())
    fmt.Println("是否为目录:", fileInfo.IsDir())
    fmt.Println("所属设备:", fileInfo.Sys())
}
ログイン後にコピー

上記の例では、まず取得する情報のファイル名を格納する変数 filename を定義します。

次に、os.Stat 関数を呼び出し、開くファイル名を入力パラメーターとして渡します。この関数は、FileInfo タイプの構造体と、fileInfo、err := os.Stat(filename) を通じて受け取るタイプ error のエラーを返します。結果が返されました。

os.Stat 関数呼び出しが成功すると、fileInfo にはファイル名、権限、サイズ、最終アクセス時間など、ファイルに関するさまざまな情報が含まれます。 、など。この情報は、ファイル名を取得するための fileInfo.Name()fileInfo.Mode()## など、fileInfo 構造の関連メソッドを呼び出すことで取得できます。 # ファイルのパーミッションなどを取得するために使用されます。

最後に、各情報を出力して結果を確認します。

os.Stat 関数呼び出しが失敗した場合、err には非 nil 値が割り当てられることに注意してください。今回は、log.Fatal(err) を通じてエラー メッセージを出力し、プログラムを終了します。

この簡単な例では、

os.Stat 関数を使用して特定のファイルに関する情報を取得することに成功しました。この機能は非常に便利で、ファイル操作を実行するときに必要なファイルの詳細を取得するのに役立ちます。もちろん、Golang の os パッケージは、より強力なファイルおよびディレクトリ操作機能も提供しており、開発者はニーズに応じてさらに探索し、学習することができます。

以上がgolang で os.Stat 関数を使用してファイル情報を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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