Go語言學習筆記(五)檔案操作

2021-09-20 14:58:24 字數 2817 閱讀 9967

加 golang學習 qq群共同學習進步成家立業工作 ^-^ 群號:96933959

os.file 封裝了檔案相關操作

檔案開啟模式:

const (

o_rdonly int = syscall.o_rdonly // 唯讀模式開啟檔案

o_wronly int = syscall.o_wronly // 只寫模式開啟檔案

o_rdwr int = syscall.o_rdwr // 讀寫模式開啟檔案

o_create int = syscall.o_creat // 如果不存在將建立乙個新檔案

o_excl int = syscall.o_excl // 和o_create配合使用,檔案必須不存在

o_sync int = syscall.o_sync // 開啟檔案用於同步i/o

o_trunc int = syscall.o_trunc // 如果可能,開啟時清空檔案

)

許可權控制:

r ——> 004

w ——> 002

x ——> 001

os.open || os.openfile

package main

import (

"bufio"

"fmt"

"os"

)func main()

defer file.close() //關閉檔案

reader := bufio.newreader(file) //帶緩衝區的讀寫

for

fmt.println("read string is %s: ", str)}}

package main

import (

"bufio"

"fmt"

"io"

"os"

)func main()

defer file.close()

reader := bufio.newreader(file)

var line byte

for

if !prefix }}

"io/ioutil" 包實現了讀取整個檔案功能

package main

import (

"fmt"

"os"

"io/ioutil"

)func main()

defer file.close()

buf, err := ioutil.readall(file)

//buf, err := ioutil.readfile(filename)

if err != nil

fmt.printf("%s\n", string(buf))

}

"compress/*" 包實現壓縮檔案功能。

"compress/gzip" 包實現了gzip格式壓縮檔案的讀寫 

package main

import (

"bufio"

"compress/gzip"

"fmt"

"os"

)func main()

fz, err := gzip.newreader(fi)

if err != nil

r = bufio.newreader(fz)

for

fmt.println(line)}}

package main

import (

"fmt"

"os"

)func main()

defer file.close()

file.seek(0, 2) // 最後增加

file.writestring(filestring)

}

帶緩衝的寫,最後要將緩衝中的資料寫入下層的io.writer介面(flush方法)

package main

import (

"bufio"

"fmt"

"os"

)func main()

defer file.close()

filewrite := bufio.newwriter(file)

filestring := "good.\n"

for i := 0; i < 10; i++

filewrite.flush()

}

從乙個檔案拷貝到另乙個檔案

package main

import (

"fmt"

"io"

"os"

)func copyfile(dstname, srcname string) (writeen int64, err error)

defer src.close()

dst, err := os.openfile(srcname, os.o_create|os.o_wronly, 0644)

if err != nil

defer dst.close()

return io.copy(dst, src)

}func main()

func pathexists(path string) (bool, error) 

if os.isnotexist(err)

return false, err

}

五 檔案操作

字元型的檔案會先編碼然後再儲存。所以讀取這些檔案的時候就需要解碼。檔案的開啟模式有唯讀 r 只寫 w 追加 a 以及二進位制模式和二進位制加下的唯讀 rb 只寫 wb 追加 ab 唯讀 預設模式,檔案必須存在,不存在則丟擲異常 只寫 不可讀 不存在則建立 存在則清空內容 追加 不可讀 不存在則建立 ...

Python學習五 檔案

with open pi digits.txt as file object contents file object.read print contents 其中,pi digits.txt 為同目錄下的文字檔案。關鍵字with在不再需要訪問檔案後將其關閉。在這個程式中,注意到我們呼叫了open ...

python基礎(五) 檔案操作

檔案處理 1.在python中 1.開啟檔案,得到檔案控制代碼並賦值給乙個變數 f open a.txt r encoding utf 8 預設開啟模式就為r 2.通過控制代碼對檔案進行操作 data f.read 3.關閉檔案 f.close 2.f open a.txt r 過程分析 首先由應用...