本文主要介紹了Go語言中文件讀寫的相關(guān)操作。
創(chuàng)新互聯(lián)專注于企業(yè)全網(wǎng)營銷推廣、網(wǎng)站重做改版、太湖網(wǎng)站定制設計、自適應品牌網(wǎng)站建設、H5場景定制、商城網(wǎng)站制作、集團公司官網(wǎng)建設、成都外貿(mào)網(wǎng)站建設公司、高端網(wǎng)站制作、響應式網(wǎng)頁設計等建站業(yè)務,價格優(yōu)惠性價比高,為太湖等各大城市提供網(wǎng)站開發(fā)制作服務。
文件是什么?
計算機中的文件是存儲在外部介質(zhì)(通常是磁盤)上的數(shù)據(jù)集合,文件分為文本文件和二進制文件。
os.Open() 函數(shù)能夠打開一個文件,返回一個 *File 和一個 err 。對得到的文件實例調(diào)用 close() 方法能夠關(guān)閉文件。
為了防止文件忘記關(guān)閉,我們通常使用defer注冊文件關(guān)閉語句。
Read方法定義如下:
它接收一個字節(jié)切片,返回讀取的字節(jié)數(shù)和可能的具體錯誤,讀到文件末尾時會返回 0 和 io.EOF 。 舉個例子:
使用for循環(huán)讀取文件中的所有數(shù)據(jù)。
bufio是在file的基礎(chǔ)上封裝了一層API,支持更多的功能。
io/ioutil 包的 ReadFile 方法能夠讀取完整的文件,只需要將文件名作為參數(shù)傳入。
os.OpenFile() 函數(shù)能夠以指定模式打開文件,從而實現(xiàn)文件寫入相關(guān)功能。
其中:
name :要打開的文件名 flag :打開文件的模式。 模式有以下幾種:
perm :文件權(quán)限,一個八進制數(shù)。r(讀)04,w(寫)02,x(執(zhí)行)01。
GetFile-----從FTP服務器上下載文件 BOOL GetFile( LPCTSTR pstrRemoteFile, LPCTSTR pstrLocalFile, BOOL bFailIfExists = TRUE, DWORD dwAttributes = FILE_ATTRIBUTE_NORMAL, DWORD dwFlags = FTP_TRANSFER_TYPE_BINARY, DWORD dwContext = 1 ); pstrRemoteFile //標識在FTP服務器上下載的文件名稱pstrLocalFile //標識下載到本地時的文件名稱bFailIfExists //標識如果本地的文件名已存在,是否進行下載如果為True 并且本地文件存在GetFile執(zhí)行失敗dwAttributes //標識文件屬性 dwFlags //標識傳輸?shù)姆绞?,莫仍采用二進制傳輸dwContext //表示傳遞文件時的內(nèi)容標識符
前端
form?enctype="multipart/form-data"?method="post"?action="youruri"
input?type="file"?name="fileA"?id="fileA"
button?type="submit"提交/button
/form
后端gin
type?Sizer?interface?{
Size()?int64
}
file,?header,?err?:=?c.Request.FormFile("fileA")
if?err?!=?nil?{
return?"",?err
}
fsize?:=?file.(Sizer).Size()
if?fsize??FILEMAXSIZE?{
return?"",?fmt.Errorf("文件太大")
}