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

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

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

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

文件

【1】文件是什么?

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

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

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

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

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

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

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

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

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

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

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

讀取文件(一次性)

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

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

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

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

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

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

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

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

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

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

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

文件復制操作

案例xln28資訊網——每日最新資訊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系統迭代之路

標簽:
  • 熱門焦點
  • 對標蘋果的靈動島 華為帶來實況窗功能

    繼蘋果的靈動島之后,華為也在今天正式推出了“實況窗”功能。據今天鴻蒙OS 4.0的現場演示顯示,華為的實況窗可以更高效的展現出實時通知,比如鎖屏上就能看到外賣、打車、銀行
  • Raft算法:保障分布式系統共識的穩健之道

    1. 什么是Raft算法?Raft 是英文”Reliable、Replicated、Redundant、And Fault-Tolerant”(“可靠、可復制、可冗余、可容錯”)的首字母縮寫。Raft算法是一種用于在分布式系統
  • 三分鐘白話RocketMQ系列—— 如何發送消息

    我們知道RocketMQ主要分為消息 生產、存儲(消息堆積)、消費 三大塊領域。那接下來,我們白話一下,RocketMQ是如何發送消息的,揭秘消息生產全過程。注意,如果白話中不小心提到相關代
  • WebRTC.Net庫開發進階,教你實現屏幕共享和多路復用!

    WebRTC.Net庫:讓你的應用更親民友好,實現視頻通話無痛接入! 除了基本用法外,還有一些進階用法可以更好地利用該庫。自定義 STUN/TURN 服務器配置WebRTC.Net 默認使用 Google 的
  • ESG的面子與里子

    來源 | 光子星球撰文 | 吳坤諺編輯 | 吳先之三伏大幕拉起,各地高溫預警不絕,但處于厄爾尼諾大&ldquo;烤&rdquo;之下的除了眾生,還有各大企業發布的ESG報告。ESG是&ldquo;環境保
  • 網傳小米汽車開始篩選交付中心 建筑面積不低于3000平方米

    7月7日消息,近日有微博網友@長三角行健者爆料稱,據經銷商集團反饋,小米汽車目前已經開始了交付中心的篩選工作,要求候選場地至少有120個車位,建筑不能低
  • 機構稱Q2全球智能手機出貨量同比下滑11% 蘋果份額依舊第2

    7月20日消息,據外媒報道,研究機構的報告顯示,由于需求下滑,今年二季度全球智能手機的出貨量,同比下滑了11%,三星、蘋果等主要廠商的銷量,較去年同期均有下
  • 微軟發布Windows 11新版 引入全新任務欄狀態

    近日,微軟發布了Windows 11新版,而Build 22563更新主要引入了幾周前曝光的平板模式任務欄等,系統更流暢了。更新中,Windows 11加入了專門針對平板優化的任務欄
  • “買真退假” 這種“羊毛”不能薅

    □ 法治日報 記者 王春   □ 本報通訊員 胡佳麗  2020年初,還在上大學的小東加入了一個大學生兼職QQ群。群主&ldquo;七王&rdquo;在群里介紹一些刷單賺
Top