日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

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

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

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

文件

【1】文件是什么?

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

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

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

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

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

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

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

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

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

使文件不能用于讀寫。它返回可能出現的錯誤8eT28資訊網——每日最新資訊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流對文件進行操作:

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

讀取文件(一次性)

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

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

【2】案例:8eT28資訊網——每日最新資訊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函數和方法8eT28資訊網——每日最新資訊28at.com

【2】案例:8eT28資訊網——每日最新資訊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】打開文件操作:8eT28資訊網——每日最新資訊28at.com

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

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

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

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

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

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

【2】案例:8eT28資訊網——每日最新資訊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)}

文件復制操作

案例8eT28資訊網——每日最新資訊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.www897cc.com/showinfo-26-122-0.html讓我們一起聊聊文件的操作

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

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

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

標簽:
  • 熱門焦點
Top 主站蜘蛛池模板: 获嘉县| 普格县| 吉首市| 新密市| 乐安县| 广水市| 宁国市| 溧水县| 昌黎县| 新沂市| 监利县| 梅河口市| 乐平市| 镇安县| 巫溪县| 屯留县| 马山县| 虞城县| 阿图什市| 余江县| 通江县| 庆阳市| 额敏县| 曲水县| 大城县| 泰来县| 克山县| 枣强县| 库尔勒市| 惠东县| 衡阳市| 西青区| 广平县| 万州区| 河源市| 府谷县| 云和县| 长武县| 内黄县| 瓮安县| 涡阳县|