1. 程式人生 > >◎VBS指令碼執行庫手冊之五 ——文字檔案的建立、追加、刪除等

◎VBS指令碼執行庫手冊之五 ——文字檔案的建立、追加、刪除等

文字檔案對於系統管理員來說是一個強大的系統管工具。這個對於現在的高階的圖形介面和多使用者的作業系統來說好象是不可能的。但是,簡單的文字檔案,比如 notepad 檔案,仍然是系統管理的一個關鍵元素。文字檔案是輕便而且便於維護的。他們佔用較少的磁碟空間不需要其它多餘的軟體支援。文字檔案可以簡單的工作並且非常容易攜帶。用文字檔案寫的指令碼檔案可以被複制和察看任何計算機的資訊,雖然它執行的系統不是Windows.此外,它還提供了快捷,簡單,標準的辦法來向指令碼輸入和輸出資料。文字檔案可以儲存向指令碼中輸入的資料arguments)或者向指令碼中硬編碼。這樣你就不用向命令列中輸入100個伺服器的名字,指令碼可以從文字檔案中讀這些資訊。同樣,文字檔案為儲存指令碼獲取的資訊提供了快捷簡單的方法。這些資料可以直接寫到資料庫,但是這個要求在伺服器上作額外的配置,額外的指令碼程式碼,在指令碼執行時候額外的管理。但是資料可以存在文字檔案中,然後在稍後匯入到資料中去。

FSO 提供一些讀寫文字檔案的方法。

Creating Text Files

FSO 讓你可以用現存在的文字工作,也可以讓你自己建立指令碼。為了建立一個新的文字檔案,簡單的建立一個 FSO 物件,然後呼叫 CreateTextFile 方法,輸入完整的檔案路徑資訊作為這個方法的引數。

例如,如下的指令碼程式碼在資料夾 C:/FSO 中建立了一個 Scriptlog.txt 的檔案:

1 Set objFSO = CreateObject("Scripting.FileSystemObject")

2Set objFile = objFSO.CreateTextFile("C:/FSO/ScriptLog.txt")

如果這個檔案存在,那麼 CreateTextFile 方法會建立一個。如果這個檔案已經存在,那麼CreateTextFile 方法會複寫存在的文字檔案,而以新的空白的檔案取代它。如果你希望這個檔案不被取代,那麼就用一個可以選擇 Overwrite 的引數。當這個引數設定成 False 的時候,攢在的檔案就不被複寫。當這個引數被設定成 True(預設的是 True),那麼就會複寫存在的檔案。例如,如下的指令碼如果建立的檔案存在的話就不會複寫。

Set objFile = objFSO.CreateTextFile("C:/FSO/ScriptLog.txt", False)

如果你將引數設定成False

,並且檔案存在,那麼就會有一個執行的錯誤。因為如此,你可以檢查檔案是否存在,如果存在,那麼就作其它的操作,例如允許使用者更改一個新的檔名。

Creating File Names Within the Script

防止檔案存在產生錯誤的方法是用指令碼給文字檔案生成一個名字。因為檔名字生成器並不建立一個有意義的名字,這對於你想在未來要命名的日誌和其它檔案來說不是一個好的辦法。但是,這個對於需要臨時檔案的指令碼來說保證了有個特定的檔名。例如,你或許想讓你的指令碼將資料儲存在HTML 或者 XML 格式,然後將這些資料在 WEB 瀏覽器中顯示,然後將這個臨時檔案在web 瀏覽器關掉時刪除。在這種情況下,你可以用GetTempName 方法來生成一個特有的檔名。

為了生成一個特別的檔名,指令碼首先要建立一個 FSO 物件例項然後呼叫 GetTempName 方法(不用引數。)例如在 4.33 中的指令碼用一個 For Next 迴圈來隨機生成 10 檔名字。

1   Set objFSO = CreateObject("Scripting.FileSystemObject")

2For i = 1 to 10

3strTempFile = objFSO.GetTempName

4Wscript.Echo strTempFile

5Next

GetTempName 來生成檔案的名字生成的不是唯一的。部分原因是生成名稱的演算法,部分是因為可能的名字的數量是有限的。檔名字被限制為 8 個位元組,而且前三個位元組規定為rad,例如,你用指令碼來建立 10000 個檔名字,在第 9894 個檔名字之後就不再是唯一的了,剩下的 106 53 對是複製的。

4.34 中的示例指令碼用 GetTempName 方法來建立一個檔案,指令碼必須:

1. 建立一個 FSO 物件例項。

2. 建立一個給資料夾 C:/FSO 的變數叫做 strPath.

3. GetTempName 方法來生成一個單獨的檔名子。

4. BuildPath 的方法來合併資料夾名字和檔名字來建立一個完成的臨時檔案的名字。這個整個路徑儲存在 strFullName 變數中。

5. 呼叫 CreateTextFile 方法,用 strFullName 來作引數。

6. 在建立了這個檔案之後,關閉這個檔案。在生產環境中,大多數情況下,你可能要向裡面寫了資料之後再關閉它。

1   Set objFSO = CreateObject("Scripting.FileSystemObject")

2strPath = "C:/FSO"

3strFileName = objFSO.GetTempName

4strFullName = objFSO.BuildPath(strPath, strFileName)

5Set objFile = objFSO.CreateTextFile(strFullName)

6objFile.Close

Opening Text Files

用文字檔案來工作有三個主要的步驟。在你可以作其它的事情之前,你必須開啟文字檔案。這個你可以開啟存在的檔案或者建立一個新的文字檔案,建立結束之後,預設檔案是開啟的。每個方法都是返回一個TextStream 物件例項。

在你獲得了 TextStream 物件之後,你可以向這個檔案中寫或者讀這個檔案。但是你不能向同一個檔案讀和寫。換句話說,在同一個操作中,你不能開啟一個檔案,讀這個檔案然後再向這個檔案中寫東西。你必須讀完這個檔案後關閉,然後再開啟這個檔案,寫入資料,然後關閉。

當你開啟一個存在的檔案,這個檔案要麼是準備好被讀的,要麼是準備好被寫的。如果你建立一個新的文字檔案,這個文字檔案只是被讀的,沒有什麼其它原因的話,它沒有內容去被讀。最後,你要去關閉這個文字檔案,雖然它不是必須的,因為在指令碼結束的時候,它會自動關閉,但是這個對於程式實踐來說是個好的辦法。

為了開啟一個文字檔案:

1. 建立一個 FSO 物件例項。

2. :OpenTextFile 來開啟一個文字檔案。這個 OpenTextFile 需要兩個引數,一個是一個文件的路徑,另外一個是跟著的引數:

For reading (parameter value = 1, constant = ForReading).

檔案被開啟之後只是被用來為讀作準備的,為了寫這個檔案,你必須再一次的開啟檔案,用引數 ForWriting 或者 ForAppending

For writing (parameter value 2, constant = ForWriting).

檔案被開啟,並且寫入的資料覆蓋了原來存在的資料,就是說舊的資料被刪除,新的被新增。用這個方法用新的資料來代替存在的資料。

For appending (parameter value 8, constant = ForAppending).

檔案在這種模式下開啟,並且新的資料新增到檔案的末尾。用這個方法向存在的檔案中新增新的資料。

當開啟檔案的時候,你必須使用適當的引數。當你用讀的模式開啟一個檔案而試圖向裡面寫東西的時候,你會收到一個 bad file mode

的錯誤。你如果試圖開啟一個非文字檔案的話也會收到同樣的錯誤的。你可以直接用數值(比如 1 代表寫)或者建立一個常量然後賦值給它適當的值。例如,如下的兩種方法都可以開啟一個檔案並且準備被讀:

Const ForReading = 1

Set objFSO = CreateObject("Scripting.FileSystemObject")

Set objFile = objFSO.OpenTextFile("C:/FSO/ScriptLog.txt", ForReading)

Set objFile2 = objFSO.OpenTextFile("C:/FSO/ScriptLog2.txt", 1)

但是在沒有定義這個常量的時候,你不能直接用。這是因為事實上 VB 指令碼並沒有這些 COM 物件常量。如下的指令碼會返回一個 invalid procedure call or argument 的錯誤並且失敗。這是因為ForReading 這個常量並沒有顯式的定義。因為它沒有定義,所以這變數預設情況下被賦值為 0,而0 對於 OpenTextFile 來說並不是一個合法的引數:

Set objFSO = CreateObject("Scripting.FileSystemObject")

Set objFile = objFSO.OpenTextFile("C:/FSO/ScriptLog.txt", ForReading)

4.35 中的指令碼打開了 C:/FSO/Scriptlog.txt 準備讀,用了使用者自己定義的變數,並且賦值為 1.

Listing 4.35 Opening a Text File for Reading

1 Const ForReading = 1

2 Set objFSO = CreateObject("Scripting.FileSystemObject")

3 Set objFile = objFSO.OpenTextFile("C:/FSO/ScriptLog.txt", ForReading)

Closing Text Files

所有的用指令碼開啟的文字檔案在指令碼結束的時候會自動關閉。因為如此,比不是必須的去顯式的關閉一個文字檔案。然而,關閉這個文字檔案卻是一個很好的程式實踐並且在下面的一些情況下,如果不關閉檔案的話,會產生一些錯誤。

Reread the file.

有些時候你或許希望用一個指令碼多次讀一個檔案。你或許開啟一個文字檔案然後將它所有的內容全部儲存給一個字串變數,然後搜尋這個字串來查詢特定的錯誤的程式碼。當這個錯誤找到了,你再逐行去讀取檔案,提煉出有錯誤的每一行。如果你嘗試多次去讀一個檔案,你不會收到你期待的結果,而是會遇到一個執行的錯誤。例如下的指令碼讀取一個文字檔案,返回檔案的內容到螢幕,然後嘗試重複這樣的過程:

Set objFSO = CreateObject("Scripting.FileSystemObject")

Set objFSO = CreateObject("Scripting.FileSystemObject")

Set objFile = objFSO.OpenTextFile("C:/FSO/ScriptLog.txt", 1)

Wscript.Echo "Reading file the first time:"

strContents = objFile.ReadAll

Wscript.Echo strContents

Wscript.Echo "Reading file the second time:"

Do While objFile.AtEndOfStream = False

strLine = objFile.ReadLine

Wscript.Echo strLine

Loop

當在 cscript 下執行的是命令列的資訊如下:

Reading file the first time:

File line 1.

File line 2.

File line 3.

Reading file the second time:

第一次檔案是被讀取的,內容儲存在變數 strContents 上,第二次,檔案讀取的時候,沒什有資料回顯在螢幕上,這是因為檔案已經到達了檔案的末尾,沒有其它的資料給你讀了。為了讀取這個資料,你必須關閉這個檔案然後重新開啟它。你不能在讀到檔案的末尾之後去跳到檔案的開頭去了。TextStreamObject.Close 方法用來關閉一個文字檔案。例如,在 4.36 中的指令碼建立一個FSO物件例項,然後開啟一個文字檔案,然後在立即關閉了。為了訪問檔案的內容,你必須再一次的呼叫 OpenTextFile 方法去重新開啟這個檔案。

Listing 4.36 Opening and Closing a Text File

1Set objFSO = CreateObject("Scripting.FileSystemObject")

2Set objFile = objFSO.OpenTextFile("C:/FSO/ScriptLog.txt", 1)

3objFile.Close

Reading Text Files

在許多的企業指令碼中,讀取文字檔案的內容是個標準程序,你可以用這個功能來讀取命令列的引數。例如,你的文字檔案包含了計算機名字的列表,指令碼審計成讀取這個列表,然後在每個計算機上執行這個指令碼。搜尋滿足特定條件的日誌檔案。例如,你或許想找所有有錯誤的日誌。將日誌檔案中新增內容並且匯入到資料庫。例如,你或許有一個服務或者程式來儲存資訊到特定存文字檔案格式。然後你用指令碼來讀取這個檔案拷貝相關的資訊到資料庫中。

可以用 FSO 來都讀取文字檔案的內容,但是有以下幾點你需要牢記:FSO 只能讀取 ASCII 的文字檔案。你不能用 FSO 讀取unicode 或者

binary 檔案格式的檔案,比如 microsoft word 或者是 Microsoft excel . FSO讀取文字檔案的時候,只能有一種方式:從前到後。此外,FSO 讀取檔案的時候是逐行讀取的。如果你試圖返回前面的行,你必須從開始再重新讀取,直到特定的行。

你不能開啟一個檔案同時用來讀和寫。如果你開啟一個檔案是為了讀的,那麼你想修改檔案內容的時候,你必須重新開啟檔案。如果你嘗試在寫的模式下讀取檔案,那麼你會收到一個bad file mode 的錯誤。

還有讀取特定的字元然後停止也是我們常用的技巧。例如,如下的命令會讀取第一行的前 12 個字元Alerter.Shar,並且將它賦值給變數

strText,然後停止:strText = objTextFile.Read(12)

ReadLine 讀取文字檔案中每行的資訊然後在到達新的一行的之前停止。例如,如下的命令讀取第一行並且將它賦值給變數strText,然後停止。strText = objTextFile.ReadLine

為了逐行讀取整個檔案的內容,將 ReadLine 放在一個迴圈中。

ReadAllReads the entire contents of a text file into a variable.

Skip跳過特定的數目的字元之後停止。例如,如下的命令面跳過前面的 12 位元組,後操作都說從第 13 個字元開始。

objTextFile.Skip(12)

SkipLine跳過一整行。例如,如下的程式碼先讀第一行,然後讀取第三行。跳過了第二行

strText = objTextFile.Readline

objTextFile.SkipLine

strText = objTextFile.Readline

雖然在單獨的一個字串中尋找東西是很簡單,但是不是要求特別快。用 ReadAll 方法在讀取近 6000 行的測試檔案的時候,每秒鐘搜尋大約 388kb。逐行讀取的話也會小於一分鐘的。

為了用 ReadAll 方法,開啟一個文字文檔案,然後呼叫 ReadAll 方法(不用引數的)例如在 4.38的指令碼,開啟檔案C:/FSO/Scriptlog.txt,然後讀取檔案的內容,蔣資料儲存在變數strContents 中,指令碼然後回顯這個變數的值,就是回顯了文字檔案的內容。

Listing 4.38 Reading a Text File Using the ReadAll Method

1 Const ForReading = 1

2 Set objFSO = CreateObject("Scripting.FileSystemObject")

3 Set objFile = objFSO.OpenTextFile("C:/FSO/ScriptLog.txt", ForReading)

4 strContents = objFile.ReadAll

5 Wscript.Echo strContents

6 objFile.Close

Reading a Text File Line by Line

為了達到系統管理的目的,文字檔案有的時候像一個扁平的上資料庫一樣的工作。每一行代表資料庫的一個紀錄。例如,指令碼經常在文字檔案中讀取伺服器的名字,然後針對這些伺服器來執行操作。在這些情況下,文字檔案看起來和下面這些差不多的:

atl-dc-01

atl-dc-02

atl-dc-03

atl-dc-04

當文字檔案當做扁平資料庫的時候,指令碼被用來讀取每個紀錄然後針對每個紀錄作一些工作。例如,一個指令碼或許讀取第一個計算機名子,連線到它,實現一些功能。然後這個指令碼讀取第二個計算機的名字,連線到它,然後實現同樣的功能。這個程序直到讀取完了所有的計算機名字,然後結束。

ReadLine 方法可以讓你的指令碼讀取文字檔案中單個的行。為了這個方法,開啟一個文字檔案,然後用一個 Do Loop 迴圈直到檔案的

AtEndOfStream 屬性為真。在這個迴圈中,呼叫ReadLine

方法,儲存第一行的內容到一個變數,然後作一些動作。當指令碼執行迴圈的時候,熱它自動丟棄第一行的內容讀取第二行的內容到這個變數。這個過程持續進行直到檔案的結束。

例如,在 4.39 中的指令碼開啟檔案 C:/FSO/Serverlist.txt 然後逐行讀取整個檔案,將內容回顯在螢幕上:

Listing 4.39 Reading a Text File Using the ReadLine Method

1 Set objFSO = CreateObject("Scripting.FileSystemObject")

2Set objFile = objFSO.OpenTextFile("C:/FSO/ServerList.txt", 1)

3Do Until objFile.AtEndOfStream

4strLine = objFile.ReadLine

5Wscript.Echo strLine

6Loop

7objFile.Close

"Reading" a Text File from the Bottom to the Top

正如前面提到的,FSO 只能從文字檔案的前面讀到後面,你不能從後面向前面讀。這個對於日誌檔案來說有一些問題,大部分的日誌檔案是按照日期格式來寫的,它的最開始的第一個日誌被紀錄在第一行,第二個紀錄紀錄在第二行,依次類推。這就以為著你感興趣的事情,最新的日誌往往在檔案末尾。

有的時候你希望按照反日期的順序來顯示資訊,就是最近的紀錄最先顯示,最舊的紀錄最後顯示。雖然你不能從後面先前的讀取文字檔案,但是你要可以實現上面的目的,指令碼必須:

1. 建立一個數組來儲存文字檔案的每行資訊

2. ReadLine 的方法讀取文字檔案的每行資訊,然後將每行的資訊作為陣列的一個獨立的元素儲存在陣列中。

3. 在螢幕上顯示陣列的資訊,從陣列的最後面開始,向前顯示。

例如,在 4.40 中的指令碼讀取檔案 C:/FSO/Scriptlog.txt 的資訊,然後將每行的資訊作為陣列

的一個元素儲存在陣列 arrFileLine 中。在整個檔案被讀了之後,從陣列的最後一個開始回顯陣列的資訊。為了做到這點,用了一個 for

迴圈,從陣列的最後一個元素,the upper bound of array 逐漸增長到第一個元素,the lower bound of array

1 Dim arrFileLines()

2i = 0

3Set objFSO = CreateObject("Scripting.FileSystemObject")

4Set objFile = objFSO.OpenTextFile("C:/FSO/ScriptLog.txt", 1)

5Do Until objFile.AtEndOfStream

6Redim Preserve arrFileLines(i)

7arrFileLines(i) = objFile.ReadLine

8i = i + 1

9Loop

10objFile.Close

11For l = Ubound(arrFileLines) to LBound(arrFileLines) Step -1

12Wscript.Echo arrFileLines(l)

13Next

如果檔案的內容和下面的一樣:

6/19/2002 Success

6/20/2002Failure

6/21/2002Failure

6/22/2002Failure

6/23/2002Success

那麼在螢幕上回顯的資訊如下:

6/23/2002 Success

6/22/2002Failure

6/21/2002Failure

6/20/2002Failure

6/19/2002Success

Reading a Text File Character by Character

在一些定寬的文字檔案中,區域是受長度的限制的。第一個 field1 或許包含 15 個位元組,第 2 field 或許含有十個,依次類推。那麼這樣的檔案看起來和下面的差不多:

Server Value Status

atl-dc-0119345OK

atl-printserver-0200042OK

atl-win2kpro-0500000Failed

在有些情況下,你或許只是想獲得 values 的值或者只是想獲得 status 的資訊。這個 value 的資訊,容易表明。Values 總是從第 26

個字元開始,不超過 5 個字元。為了獲得這些值,你只需要獲得第 26,27,28,29,30 個字元的資訊。

方法 Read 允許你讀取特定數目的位元組。它的一個單獨的引數就是你要讀的位元組的個數。例如,如下的指令碼程式碼示例,讀取後面的 7 個位元組,並將讀取的值存給變數 strCharacters:

strCharacters = objFile.Read(7)

Skip SkipLine 方法,你可以獲得文字檔案中你選擇的特定字元。例如,在指令碼 4.41 只是讀取每行的第 6 個位元組。為了做到這點,指令碼必須:

1. 跳過每行前面五個位元組用 Skip(5)

2. Read(1)讀取第 6 個位元組

3. 跳到下面一行。

Listing 4.41 Reading a Fixed-Width Text File

1Set objFSO = CreateObject("Scripting.FileSystemObject")

2Set objFile = objFSO.OpenTextFile("C:/FSO/ScriptLog.txt", 1)

3Do Until objFile.AtEndOfStream

4objFile.Skip(5)

5strCharacters = objFile.Read(1)

6Wscript.Echo strCharacters

7objFile.SkipLine

8Loop

為了更好說明指令碼是如何工作的,我們假設指令碼檔案 C:/FSO/Scriptlog.txt 看起來是如下的樣子的:

XXXXX1XXXXXXXXXXXXXX

XXXXX2XXXXXXXXXXXXXXXXXXX

相關推薦

VBS指令碼執行手冊 ——文字檔案建立追加刪除

  文字檔案對於系統管理員來說是一個強大的系統管工具。這個對於現在的高階的圖形介面和多使用者的作業系統來說好象是不可能的。但是,簡單的文字檔案,比如 notepad 檔案,仍然是系統管理的一個關鍵元素。文字檔案是輕便而且便於維護的。他們佔用較少的磁碟空間不需要其它多餘的軟體支援。文字檔案可以簡單的工作並且非常

VBS指令碼執行手冊 ——文字檔案建立追加刪除

文字檔案對於系統管理員來說是一個強大的系統管工具。這個對於現在的高階的圖形介面和多使用者的作業系統來說好象是不可能的。但是,簡單的文字檔案,比如 notepad 檔案,仍然是系統管理的一個關鍵元素。文字檔案是輕便而且便於維護的。他們佔用較少的磁碟空間不需要其它多餘的軟體支援

VBS指令碼執行 ——文字檔案建立追加刪除

文字檔案對於系統管理員來說是一個強大的系統管工具。這個對於現在的高階的圖形介面和多使用者的作業系統來說好象是不可能的。但是,簡單的文字檔案,比如 notepad 檔案,仍然是系統管理的一個關鍵元素。文字檔案是輕便而且便於維護的。他們佔用較少的磁碟空間不需要其它多

Vbs指令碼程式設計簡明教程——響應事件

什麼是事件?在我看來,事件就象我們手機上的鬧鐘,鬧鐘一響,我們就要去做某些特定的事情。或者這樣說,事件就像警鐘,當程式執行時,有特殊的事情發生,就會激發事件,事件本身就是一條訊息,如果你編寫的指令碼要對事件進行處理,就需要一個特殊的過程或者函式來接受和處理事件。那麼這個特殊的

bash參考手冊(shell變量)續三

行號 gnu 可能 cpu border 位置 其它 post 換行 LINENO 當前在運行的腳本或者shell函數的行號。 LINES 命令select用來確定打印選擇列表的列寬。收到SIG

Netty5使用者手冊:netty中流資料的傳輸處理問題

處理流資料的傳輸 SocketBuffer的警告 在如tcp/ip的以流為基礎傳輸資料中,資料被接收後,被儲存在一個socket接收緩衝區中。不幸的是,這個以流為基礎的緩衝區buffer不是一個包pa

VBS指令碼執行刪除自身的方法

我們都知道,vbs有一個函式叫deletefile() 這裡我們就是通過deletefile函式來實現vbs指令碼執行後刪除自身的 詳情如下: dim fso,f set fso = crea

Redisson lua指令碼執行踩坑神祕的引號

最近專案需求,在redis中需要執行批量刪除指定key,並且要支援原子操作,那麼當然只有自己寫lua指令碼了。 專案中使用的是redisson作為redis連線工具,首先先定義好lua指令碼: private static final String BAT

abp(net core)+easyui+efcore實現倉儲管理系統——出管理(十四)

abp(net core)+easyui+efcore實現倉儲管理系統目錄 abp(net core)+easyui+efcore實現倉儲管理系統——ABP總體介紹(一) abp(net core)+easyui+efcore實現倉儲管理系統——解決方案介紹(二

MFCTXT文字檔案的讀寫

正確的文字檔案讀寫過程: 1、定義檔案變數;2、開啟指定的檔案;3、向文字檔案中寫入資訊;4、從文字檔案中讀取資訊;5、關閉檔案   1、定義檔案變數(CStdioFile類是CFile類的擴充套件) 定義檔案變數格式:CStdioFile 檔案變數(操作檔案時模式是tex

運維路-文字處理-三劍客(grepsedawk)

轉載:https://blog.csdn.net/zisefeizhu/article/details/82526749 目錄  grep 支援的正則 描述 輸出控制 描述 內容行控制 描述 示例: sed Usage: 命令 描述 地址 描述 匹配刪除(d)  替

libcurl實戰下載ftp檔案並實時顯示百分比

前言 說實話,就這種東西我居然搞了快兩個小時,一開始沒有搞懂curl函式中設定的回撥函式用法以及將引數傳入回撥函式的意義,經過我查閱官網並融合官網與某些網路知識,寫出這個可以在下載時顯示下載百分比的程式碼(其實主要是網路例項不多,其實一旦看過例項,理解起來就很容易) 相關

.net C# web程式執行中錯誤日誌寫入文字檔案

網上找的原始碼,自己根據實際情況進行了修改,能將日誌儲存在發不出來的web程式根目錄下的ErrorLog資料夾內。 #region 建立錯誤日誌 ///-------------------------------------

Python成長路(三)——詞典文字檔案的輸入輸出模組函式的引數傳遞

詞典 可以儲存多個元素的物件成為容器,前面提到的list和tuple都屬於容器類,這裡介紹一個新的容器:詞典。 基本概念 常見的建立詞典的基本方法: dic={'鍵':值,'鍵':值,'鍵':值...} 詞典包含兩部分,鍵和值,其中鍵一般為字串,也

從零開始學C++IO流類(三):檔案的讀寫二進位制檔案的讀寫檔案隨機讀寫

#include <cassert>#include <iostream>#include <fstream>#include <string>using namespace std;struct Test {     int a;     int b; };i

我的Qt學習路——文字檔案的讀取與寫入

為了能較好應用檔案的讀取與寫入,我編寫了一個簡易的文字編輯器 首先,先編寫新建功能: 先在mainwindow.h裡新增新建功能槽函式的宣告: private slots: void ne

快速建立SpringBoot2.x應用工具類自動建立web應用SpringBoot2.x的依賴預設Maven版本

快速建立SpringBoot2.x應用之工具類自動建立web應用簡介:使用構建工具自動生成專案基本架構   1、工具自動建立:http://start.spring.io/   2、訪問地址:http://localhost:8080/ 開始下載,解壓,匯入Maven專案 匯入後:

文字檔案編輯命令——catmoreheadtailtrwcstatcutdiff

1.cat命令cat命令用於檢視純文字檔案(內容較少的),格式為“cat [選項] [檔案]”。Linux系統中有多個用於檢視文字內容的命令,每個命令都有自己的特點,比如這個cat命令就是用於檢視內容較少的純文字檔案的。如果在檢視文字內容時還想順便顯示行號的話,不妨在cat命令後面追加一個-n引數:[[ema

SpringBoot學習筆記一【Idea下建立springboot示例啟動原理分析與兩種部署啟動方式】

1、使用背景 首先說下我們為什麼使用springboot,原因有以下幾點 1、快速建立獨立執行的spring專案以及與主流框架繼承 2、使用嵌入式的Servlet容器,無需打成war包 3、starters自動依賴於版本控制 4、大量的自動配置,簡化開發,也可修改預設值 5、

微信標籤語言頁面結構檔案--資料繫結條件渲染

頁面結構檔案      WXML(weixin markup language)是框架設計的一套標記語言,用於渲染介面,WXML的渲染原理,通過一套標記語言,在不同平臺被解析為不同端的渲染檔案。 WXML具有資料繫結、列表渲染、條件渲染、模板、事件等能力。