Go語言編程—Go語言實現檔案拷貝__Go語言編程

來源:互聯網
上載者:User
檔案操作API介紹 建立檔案

func Create(name string) (file *File, err Error)
根據提供的檔案名稱建立新的檔案,返回一個檔案對象,預設許可權是0666的檔案,返回的檔案對象是可讀寫的。

func NewFile(fd uintptr, name string) *File
根據檔案描述符建立相應的檔案,返回一個檔案對象 開啟檔案

func Open(name string) (file *File, err Error)
該方法開啟一個名稱為name的檔案,但是是唯讀方式,內部實現其實調用了OpenFile。

func OpenFile(name string, flag int, perm uint32) (file *File, err Error)
開啟名稱為name的檔案,flag是開啟的方式,唯讀、讀寫等,perm是許可權 寫檔案

func (file *File) Write(b []byte) (n int, err Error)
寫入byte類型的資訊到檔案

func (file *File) WriteAt(b []byte, off int64) (n int, err Error)
在指定位置開始寫入byte類型的資訊

func (file *File) WriteString(s string) (ret int, err Error)
寫入string資訊到檔案 讀檔案

func (file *File) Read(b []byte) (n int, err Error)
讀取資料到b中

func (file *File) ReadAt(b []byte, off int64) (n int, err Error)
從off開始讀取資料到b中 刪除檔案

func Remove(name string) Error
調用該函數就可以刪除檔案名稱為name的檔案 代碼實現

package mainimport (    "fmt"    "io"    "os")func main() {    list := os.Args    if len(list) != 3 {        fmt.Println("error:缺少參數")        return    }    srcName := list[1]    dstName := list[2]    srcFile, err1 := os.Open(srcName)    dstFile, err2 := os.Create(dstName)    if err1 != nil || err2 != nil {        fmt.Println("err")        return    }    defer srcFile.Close()    defer dstFile.Close()    buf := make([]byte, 4*1024) //4k緩衝區    //核心處理    for {        n, err := srcFile.Read(buf)        if err != nil {            if err == io.EOF { //檔案讀取完畢                break            }            fmt.Println("err:", err)        }        dstFile.Write(buf[:n]) //讀多少寫多少    }}
運行檢測


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.