AVt天堂网 手机版,亚洲va久久久噜噜噜久久4399,天天综合亚洲色在线精品,亚洲一级Av无码毛片久久精品

當(dāng)前位置:首頁 > 科技  > 軟件

讓我們一起聊聊文件的操作

來源: 責(zé)編: 時(shí)間:2023-08-05 11:45:35 4735觀看
導(dǎo)讀文件【1】文件是什么?文件是保存數(shù)據(jù)的地方,是數(shù)據(jù)源的一種,比如大家經(jīng)常使用的word文檔、txt文件、excel文件、jpg文件...都是文件。文件最主要的作用就是保存數(shù)據(jù),它既可以保存一張圖片,也可以保持視頻,聲音...【2】os包

文件

【1】文件是什么?

文件是保存數(shù)據(jù)的地方,是數(shù)據(jù)源的一種,比如大家經(jīng)常使用的word文檔、txt文件、excel文件、jpg文件...都是文件。文件最主要的作用就是保存數(shù)據(jù),它既可以保存一張圖片,也可以保持視頻,聲音...ve628資訊網(wǎng)——每日最新資訊28at.com

【2】os包下的File結(jié)構(gòu)體封裝了對(duì)文件的操作:

ve628資訊網(wǎng)——每日最新資訊28at.com

傳入一個(gè)字符串(文件的路徑),返回的是文件的指針,和是否打開成功ve628資訊網(wǎng)——每日最新資訊28at.com

(2)關(guān)閉文件:(方法)ve628資訊網(wǎng)——每日最新資訊28at.com

ve628資訊網(wǎng)——每日最新資訊28at.com

使文件不能用于讀寫。它返回可能出現(xiàn)的錯(cuò)誤ve628資訊網(wǎng)——每日最新資訊28at.com

【4】案例:

package mainimport(	"fmt"	"os")func main()  {	//打開文件:	file,err := os.Open("D:/test.txt")	if err != nil {		fmt.Println("文件打開出錯(cuò),對(duì)應(yīng)錯(cuò)誤為:",err)	}	//沒有出錯(cuò),輸出文件:	fmt.Println("文件=v%",file)	//.........一系列操作	//關(guān)閉文件:	err2 := file.Close()	if err2 != nil {		fmt.Println("關(guān)閉失敗!")	}}

io的引入

【1】IO流對(duì)文件進(jìn)行操作:

ve628資訊網(wǎng)——每日最新資訊28at.com

讀取文件(一次性)

【1】讀取文件的內(nèi)容并顯示在終端(使用ioutil一次將整個(gè)文件讀入到內(nèi)存中),這種方式適用于文件不大的情況。相關(guān)方法和函數(shù)(ioutil.ReadFile)ve628資訊網(wǎng)——每日最新資訊28at.com

ve628資訊網(wǎng)——每日最新資訊28at.com

【2】案例:ve628資訊網(wǎng)——每日最新資訊28at.com

package mainimport(	"fmt"	"io/ioutil")func main()  {	//備注:在下面的程序中不需要進(jìn)行 Open/Close操作,因?yàn)槲募拇蜷_和關(guān)閉操作被封裝在ReadFile函數(shù)內(nèi)部了	//讀取文件:	content,err := ioutil.ReadFile("D:/test.txt")	if err != nil {		fmt.Println("讀取錯(cuò)誤,錯(cuò)誤為:",err)	}	//如果讀取成功,將內(nèi)容顯示在終端即可:	//fmt.Printf("%v",content)	fmt.Printf("%v",string(content))}

讀取文件(帶緩沖區(qū))

【1】讀取文件的內(nèi)容并顯示在終端(帶緩沖區(qū)的方式-4096字節(jié)),適合讀取比較大的文件,使用os.Open,file.Close,bufio.NewReader(),reader.ReadString函數(shù)和方法ve628資訊網(wǎng)——每日最新資訊28at.com

【2】案例:ve628資訊網(wǎng)——每日最新資訊28at.com

package mainimport(	"fmt"	"io"	"os"	"bufio")func main()  {	file,err := os.Open("D:/test.txt")	if err != nil {		fmt.Println("打開文件失敗,err=:",err)	}	//當(dāng)函數(shù)退出時(shí),讓file關(guān)閉,防止內(nèi)存泄露:	defer file.Close()	//創(chuàng)建一個(gè)流:	reader := bufio.NewReader(file)	//讀取操作:	for{		//讀取到一個(gè)換行就結(jié)束		str,err := reader.ReadString('/n')		//io.EOF 表示已經(jīng)讀取到文件的結(jié)尾		if err == io.EOF {			break		}		//如果沒有讀取到文件結(jié)尾的話,就正常輸出文件內(nèi)容即可:		fmt.Println(str)	}	//結(jié)束:	fmt.Println("文件讀取成功,并且全部讀取完畢")}

寫入文件

【1】打開文件操作:ve628資訊網(wǎng)——每日最新資訊28at.com

ve628資訊網(wǎng)——每日最新資訊28at.com

三個(gè)參數(shù)含義:ve628資訊網(wǎng)——每日最新資訊28at.com

(1)要打開的文件的路徑ve628資訊網(wǎng)——每日最新資訊28at.com

(2)文件打開模式(可以利用"|"符號(hào)進(jìn)行組合)ve628資訊網(wǎng)——每日最新資訊28at.com

ve628資訊網(wǎng)——每日最新資訊28at.com

(3)權(quán)限控制(linux/unix系統(tǒng)下才生效,windows下設(shè)置無效)- 0666ve628資訊網(wǎng)——每日最新資訊28at.com

【2】案例:ve628資訊網(wǎng)——每日最新資訊28at.com

package mainimport(	"fmt"	"os"	"bufio")func main()  {	//寫入文件操作:	//打開文件:	file,err := os.OpenFile("D:/test.txt",os.O_RDWR | os.O_APPEND | os.O_CREATE,0666)	if err != nil {		fmt.Printf("打開文件失敗",err)		return	}	defer file.Close()	//寫入文件操作:---》IO流---》緩沖輸出流(帶緩沖區(qū))	writer := bufio.NewWriter(file)	for i := 0; i < 10; i++ {		writer.WriteString("你好 菜園子/n")	}	//流帶緩沖區(qū),刷新數(shù)據(jù)--->真正寫入文件中:	writer.Flush()	s := os.FileMode(0666).String()	fmt.Println(s)}

文件復(fù)制操作

案例ve628資訊網(wǎng)——每日最新資訊28at.com

package mainimport(	"io/ioutil"	"fmt")func main()  {	//定義源文件:	filePath := "D:/test.txt"	//定義目標(biāo)文件:	newPath := "D:/test_copy.txt"	//對(duì)文件進(jìn)行讀取:	content,err := ioutil.ReadFile(filePath)	if err != nil {		fmt.Printf("打開文件失敗",err)		return	}	 //寫出文件:	err = ioutil.WriteFile(newPath,content,0666)	if err != nil {		fmt.Println("寫出失敗")	}}

本文鏈接:http://www.tebozhan.com/showinfo-26-122-0.html讓我們一起聊聊文件的操作

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com

上一篇: 十個(gè)簡(jiǎn)單但很有用的Python裝飾器

下一篇: 之家push系統(tǒng)迭代之路

標(biāo)簽:
  • 熱門焦點(diǎn)
  • Find N3入網(wǎng):最高支持16+1TB

    OPPO將于近期登場(chǎng)的Find N3折疊屏目前已經(jīng)正式入網(wǎng),型號(hào)為PHN110。本次Find N3在外觀方面相比前兩代有很大的變化,不再是小號(hào)的橫向折疊屏,而是跟別的廠商一樣采用了較為常見的
  • 6月安卓手機(jī)性能榜:vivo/iQOO霸占旗艦排行榜前三

    2023年上半年已經(jīng)正式過去了,我們也迎來了安兔兔V10版本,在新的驍龍8Gen3和天璣9300發(fā)布之前,性能榜的榜單大體會(huì)以驍龍8Gen2和天璣9200+為主,至于那顆3.36GHz的驍龍8Gen2領(lǐng)先
  • 8月總票房已突破10億!《封神》第一:口碑已經(jīng)成了

    8月5日消息,據(jù)燈塔專業(yè)版數(shù)據(jù),截至8月5日9時(shí)35分,8月總票房(含預(yù)售)已突破10億。其中,《封神》以大比分的優(yōu)勢(shì)領(lǐng)先。根據(jù)官方消息,目前該片總票房已經(jīng)超過14.
  • JavaScript 混淆及反混淆代碼工具

    介紹在我們開始學(xué)習(xí)反混淆之前,我們首先要了解一下代碼混淆。如果不了解代碼是如何混淆的,我們可能無法成功對(duì)代碼進(jìn)行反混淆,尤其是使用自定義混淆器對(duì)其進(jìn)行混淆時(shí)。什么是混
  • K6:面向開發(fā)人員的現(xiàn)代負(fù)載測(cè)試工具

    K6 是一個(gè)開源負(fù)載測(cè)試工具,可以輕松編寫、運(yùn)行和分析性能測(cè)試。它建立在 Go 和 JavaScript 之上,它被設(shè)計(jì)為功能強(qiáng)大、可擴(kuò)展且易于使用。k6 可用于測(cè)試各種應(yīng)用程序,包括 Web
  • 服務(wù)存儲(chǔ)設(shè)計(jì)模式:Cache-Aside模式

    Cache-Aside模式一種常用的緩存方式,通常是把數(shù)據(jù)從主存儲(chǔ)加載到KV緩存中,加速后續(xù)的訪問。在存在重復(fù)度的場(chǎng)景,Cache-Aside可以提升服務(wù)性能,降低底層存儲(chǔ)的壓力,缺點(diǎn)是緩存和底
  • 東方甄選單飛:有些鳥注定是關(guān)不住的

    文/彭寬鴻編輯/羅卿東方甄選創(chuàng)始人俞敏洪帶隊(duì)的&ldquo;7天甘肅行&rdquo;直播活動(dòng)已在近日順利收官。成立后一年多時(shí)間里,東方甄選要脫離抖音自立門戶的傳聞不絕于耳,&ldquo;7
  • 蘋果公司要求三星和LG Display生產(chǎn)「無邊框」OLED iPhone顯示屏

    據(jù) The Elec 報(bào)道,蘋果已要求其供應(yīng)商為未來的 iPhone 型號(hào)開發(fā)「無邊框」OLED 顯示面板。蘋果顯然已要求三星和 LG Display 開發(fā)新的 OLED 顯示面
  • 三星Galaxy Z Fold5官方渲染圖曝光:13.4mm折疊厚度依舊感人

    據(jù)官方此前宣布,三星將于7月26日在韓國(guó)首爾舉辦Unpacked活動(dòng),屆時(shí)將帶來帶來包括Galaxy Buds 3、Galaxy Watch 6、Galaxy Tab S9、Galaxy Z Flip 5、
Top