檔案在程式中是以流的形式來操作的。
流:資料在資料來源(檔案)和程式(記憶體)之間經歷的路徑
輸入流:資料從資料來源(檔案)到程式(記憶體)的路徑
輸出流:資料從程式(記憶體)到資料來源(檔案)的路徑
os.file封裝所有檔案相關操作,file是乙個結構體。
os.file的各種繫結的方法在 官網的os包裡的file結構體裡。
操作檔案,會經常使用到os.file結構體
常用的檔案操作函式和方法:
1)開啟乙個檔案進行讀操作:
os.open(name string) (*file, error)
2)關閉乙個檔案:
file.close()
案例演示:
func main()
//輸出下檔案,看看檔案是什麼,看出file 就是乙個指標 *file
fmt.printf("file=%v", file)
//關閉檔案
err = file.close()
if err != nil
}讀檔案操作應用例項:
1)讀取檔案的內容並顯示在終端(帶緩衝區的方式),使用os.open,file.close,bufio.newreader(), reader.readstring 函式和方法
package main
import (
"fmt"
"os"
"bufio"
"io"
)unc main()
//當函式退出時,要及時的關閉file
defer file.close() //要及時關閉file控制代碼,否則會有記憶體洩露
//建立乙個 *reader,是帶緩衝的
/*const (
defaultbufsize = 4096 //預設的緩衝區為4096)*/
reader := bufio.newreader(file)
//迴圈的讀取檔案的內容
for
//輸出內容
fmt.print(str)
}fmt.println("檔案讀取結束...")
}讀取檔案的內容並顯示在終端(使用ioutil一次將整個檔案讀入到記憶體中),這種方式適用於檔案不大的情況。相關方法和函式(ioutil.readfile)
案例演示:
package main
import (
"fmt"
"io/ioutil"
)func main()
//把讀取到的內容顯示到終端
fmt.printf("%v",string(content))
//因為我們沒有明確的顯示的open檔案,因此也不需要顯示的close檔案
//因為,檔案的open和close被封裝到 readfile 函式內部
}
檔案操作1
ios 沙盒中一共有 4個資料夾 安裝目錄 home 唯讀 documents 長期放使用者檔案或資料夾,rw tmp 存放臨時檔案,rw library caches 存放快取檔案,rw nsarray nssearchpathfordirectoriesindomains nssearchpat...
檔案操作 1
檔案操作 不論操作什麼型別的檔案,第一步先開啟乙個檔案,第二步,讀寫檔案,第三步關閉檔案。fopen r 以唯讀方式開啟檔案,該檔案必須存在。r 以可讀寫方式開啟檔案,該檔案必須存在。用r 寫檔案時候,從檔案開始位置寫入 rb 讀寫開啟乙個二進位制檔案,允許讀寫資料,檔案必須存在。rw 讀寫開啟乙個...
檔案操作(1)
判斷檔案型別 var dump filetype img 返回檔案型別,目錄或檔案 var dump is dir img 11.png 判斷給的檔案是不是目錄 is file 判斷給的檔案是不是檔案 檔案屬性 var dump date y m d h i s fileatime img 11.p...