今天我們講解的是golang標(biāo)準(zhǔn)庫(kù)里邊的io/ioutil包–也就是package io/ioutil
1.ioutil.ReadDir(dirname string)這個(gè)函數(shù)的原型是這樣的 func ReadDir(dirname string) ([]os.FileInfo, error)
不難看出輸入的是dirname類(lèi)型是string類(lèi)型的 譬如”d:/go”,然會(huì)是一個(gè)FileInfo的切片,其中FileInfo的結(jié)構(gòu)是這樣的
func main() {
dir_list, e := ioutil.ReadDir("d:/test")
if e != nil {
fmt.Println("read dir error")
return
}
for i, v := range dir_list {
fmt.Println(i, "=", v.Name())
fmt.Println(v.Name(), "的權(quán)限是:", v.Mode())
fmt.Println(v.Name(), "文件大小:", v.Size())
fmt.Println(v.Name(), "創(chuàng)建時(shí)間", v.ModTime())
fmt.Println(v.Name(), "系統(tǒng)信息", v.Sys())
if v.IsDir() == true {
fmt.Println(v.Name(), "是目錄")
}
}
}
func main() {
data, err := ioutil.ReadFile("D:/test/widua.go")
if err != nil {
fmt.Println("read error")
os.Exit(1)
}
fmt.Println(string(data))
}
func main() {
reader := strings.NewReader("hello word widuu") //返回*strings.Reader
fmt.Println(reflect.TypeOf(reader))
data, _ := ioutil.ReadAll(reader)
fmt.Println(string(data))
}
func main() {
reader := strings.NewReader("hello word widuu") //返回*strings.Reader
r := ioutil.NopCloser(reader)
defer r.Close()
fmt.Println(reflect.TypeOf(reader))
data, _ := ioutil.ReadAll(reader)
fmt.Println(string(data))
}
func main() {
dir, err := ioutil.TempDir("D:/test", "tmp")
if err != nil {
fmt.Println("常見(jiàn)臨時(shí)目錄失敗")
return
}
fmt.Println(dir) //返回的是D:/test/tmp846626247 就是前邊的prefix+隨機(jī)數(shù)
}
func main() {
file, error := ioutil.TempFile("D:/test", "tmp")
defer file.Close()
if error != nil {
fmt.Println("創(chuàng)建文件失敗")
return
}
file.WriteString("Hello word") //利用file指針的WriteString()詳情見(jiàn)os.WriteString()
filedata, _ := ioutil.ReadFile(file.Name())
fmt.Println(string(filedata))
}
|
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注