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

當前位置:首頁 > 科技  > 軟件

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

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

文件

【1】文件是什么?

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

【2】os包下的File結構體封裝了對文件的操作:

ecD28資訊網——每日最新資訊28at.com

【3】File結構體---打開文件和關閉文件:

(1)打開文件,用于讀取:(函數)ecD28資訊網——每日最新資訊28at.com

ecD28資訊網——每日最新資訊28at.com

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

(2)關閉文件:(方法)ecD28資訊網——每日最新資訊28at.com

ecD28資訊網——每日最新資訊28at.com

使文件不能用于讀寫。它返回可能出現的錯誤ecD28資訊網——每日最新資訊28at.com

【4】案例:

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

io的引入

【1】IO流對文件進行操作:

ecD28資訊網——每日最新資訊28at.com

讀取文件(一次性)

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

ecD28資訊網——每日最新資訊28at.com

【2】案例:ecD28資訊網——每日最新資訊28at.com

package mainimport(	"fmt"	"io/ioutil")func main()  {	//備注:在下面的程序中不需要進行 Open/Close操作,因為文件的打開和關閉操作被封裝在ReadFile函數內部了	//讀取文件:	content,err := ioutil.ReadFile("D:/test.txt")	if err != nil {		fmt.Println("讀取錯誤,錯誤為:",err)	}	//如果讀取成功,將內容顯示在終端即可:	//fmt.Printf("%v",content)	fmt.Printf("%v",string(content))}

讀取文件(帶緩沖區)

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

【2】案例:ecD28資訊網——每日最新資訊28at.com

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

寫入文件

【1】打開文件操作:ecD28資訊網——每日最新資訊28at.com

ecD28資訊網——每日最新資訊28at.com

三個參數含義:ecD28資訊網——每日最新資訊28at.com

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

(2)文件打開模式(可以利用"|"符號進行組合)ecD28資訊網——每日最新資訊28at.com

ecD28資訊網——每日最新資訊28at.com

(3)權限控制(linux/unix系統下才生效,windows下設置無效)- 0666ecD28資訊網——每日最新資訊28at.com

【2】案例:ecD28資訊網——每日最新資訊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流---》緩沖輸出流(帶緩沖區)	writer := bufio.NewWriter(file)	for i := 0; i < 10; i++ {		writer.WriteString("你好 菜園子/n")	}	//流帶緩沖區,刷新數據--->真正寫入文件中:	writer.Flush()	s := os.FileMode(0666).String()	fmt.Println(s)}

文件復制操作

案例ecD28資訊網——每日最新資訊28at.com

package mainimport(	"io/ioutil"	"fmt")func main()  {	//定義源文件:	filePath := "D:/test.txt"	//定義目標文件:	newPath := "D:/test_copy.txt"	//對文件進行讀取:	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讓我們一起聊聊文件的操作

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 十個簡單但很有用的Python裝飾器

下一篇: 之家push系統迭代之路

標簽:
  • 熱門焦點
  • 一加Ace2 Pro官宣:普及16G內存 引領24G

    一加官方今天繼續為本月發布的新機一加Ace2 Pro帶來預熱,公布了內存方面的信息。“淘汰 8GB ,12GB 起步,16GB 普及,24GB 引領,還有呢?#一加Ace2Pro#,2023 年 8 月,敬請期待。”同時
  • 紅魔電競平板評測:大屏幕硬實力

    前言:三年的疫情因為要上網課的原因激活了平板市場,如今網課的時代已經過去,大家的生活都恢復到了正軌,這也就意味著,真正考驗平板電腦生存的環境來了。也就是面對著這種殘酷的
  • 石頭自清潔掃拖機器人G10S評測:多年黑科技集大成之作 懶人終極福音

    科技圈經常能看到一個詞叫“縫合怪”,用來形容那些把好多功能或者外觀結合在一起的產品,通常這樣的詞是貶義詞,但如果真的是產品縫合的好、縫合的實用的話,那它就成了中性詞,今
  • K6:面向開發人員的現代負載測試工具

    K6 是一個開源負載測試工具,可以輕松編寫、運行和分析性能測試。它建立在 Go 和 JavaScript 之上,它被設計為功能強大、可擴展且易于使用。k6 可用于測試各種應用程序,包括 Web
  • 摸魚心法第一章——和配置文件說拜拜

    為了能摸魚我們團隊做了容器化,但是帶來的問題是服務配置文件很麻煩,然后大家在群里進行了“親切友好”的溝通圖片圖片圖片圖片對比就對比,簡單對比下獨立配置中心和k8s作為配
  • 重估百度丨“晚熟”的百度云,能等到春天嗎?

    &copy;自象限原創作者|程心排版|王喻可2016年7月13日,百度云計算戰略發布會在北京舉行,宣告著百度智能云的正式啟程。彼時的會場座無虛席,甚至排隊排到了門外,在場的所有人幾乎都
  • OPPO K11搭載長壽版100W超級閃充:26分鐘充滿100%

    據此前官方宣布,OPPO將于7月25日也就是今天下午14:30舉辦新品發布會,屆時全新的OPPO K11將正式與大家見面,將主打旗艦影像,和同檔位競品相比,其最大的賣
  • 蘋果140W USB-C充電器:采用氮化鎵技術

    據10 月 30 日 9to5 Mac 消息報道,當蘋果推出新的 MacBook Pro 2021 時,該公司還推出了新的 140W USB-C 充電器,附贈在 MacBook Pro 16 英寸機型的盒子里,也支
  • 電博會與軟博會實現"線下+云端"的雙線融合

    在本次“電博會”與“軟博會”雙展會利好條件的加持下,既可以發揮展會拉動人流、信息流、資金流實現快速交互流動的作用,繼而推動區域經濟良性發展;又可以聚
Top