Go 語言程式檢查檔案是否具有可讀許可權
在使用 Go 語言處理檔案時,檢查檔案是否具有可讀許可權非常重要,因為如果沒有讀許可權,程式就無法讀取檔案內容。在這裡,我們將使用 os.Stat() 函式、os.Open() 函式以及 ioutil.Readfile() 函式來檢查檔案是否具有可讀許可權。
演算法
首先,我們需要匯入 "fmt" 和 "os" 包。
然後,將文字檔案儲存到變數中,並呼叫相應包中指定的函式。
如果生成錯誤,則在螢幕上列印錯誤資訊。
否則,使用 fmt.Println() 函式列印檔案具有可讀許可權。
語法
os.Stat PATH
stat() 函式位於 os 包中,用於解析相對於專案根目錄的路徑。該函式接受一個引數,即檔案長度以及檔案儲存的路徑。
示例 1
在 Go 中檢查檔案是否具有可讀許可權的第一種方法是使用 os.Stat() 函式。此函式返回一個 FileInfo 型別的值,該值描述了檔案。要檢查檔案是否具有可讀許可權,我們可以使用 FileInfo.Mode() 方法並檢查返回值是否包含 os.ModePerm 常量。
package main
import (
"fmt"
"os"
)
func main() {
file := "file.txt"
info, err := os.Stat(file)
if err != nil {
fmt.Printf("error getting file info: %v", err)
return
}
if info.Mode().Perm()&0444 == 0444 {
fmt.Println("file has readable permission")
} else {
fmt.Println("file does not have readable permission")
}
}
輸出
file has readable permission
示例 2
在 Go 中檢查檔案是否具有可讀許可權的另一種方法是使用 os.Open() 函式。os.Open() 函式以檔名作為引數,並返回一個 *File 型別的值,該值表示一個開啟的檔案。如果檔案沒有可讀許可權,則該函式將返回一個錯誤。要檢查檔案是否具有可讀許可權,我們只需呼叫 os.Open() 並檢查返回的錯誤是否為 nil。
package main
import (
"fmt"
"os"
)
func main() {
file := "file.txt"
_, err := os.Open(file)
if err != nil {
fmt.Println("file does not have readable permission")
} else {
fmt.Println("file has readable permission")
}
}
輸出
file does not have readable permission
示例 3
在 Go 中檢查檔案是否具有可讀許可權的第三種方法是使用 ioutil.ReadFile() 函式。ioutil.ReadFile() 函式以檔名作為引數,並返回檔案內容作為 []byte 型別的值。如果檔案沒有可讀許可權,則該函式將返回一個錯誤。要檢查檔案是否具有可讀許可權,我們只需呼叫 ioutil.ReadFile() 並檢查返回的錯誤是否為 nil。
package main
import (
"fmt"
"io/ioutil"
)
func main() {
file := "file.txt"
_, err := ioutil.ReadFile(file)
if err != nil {
fmt.Println("file does not have readable permission")
} else {
fmt.Println("file has readable permission")
}
}
輸出
file does not have readable permission
結論
我們已成功編譯並執行了一個 Go 語言程式,以檢查檔案是否具有可讀許可權。我們在這裡實現了三個程式。在第一個程式中,我們使用 os 包中的 Stat() 函式,而在第二個和第三個程式中,我們分別使用 os 和 ioutil 包中的 Open() 和 readFile() 函式。
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP