VBS讀寫檔案以及OpenTextFile方法
檔案的建立:
FSO 讓你可以用現存在的文字工作,也可以讓你自己建立指令碼。為了建立一個新的文字檔案,簡單的建立一個 FSO 物件,然後呼叫 CreateTextFile 方法,輸入完整的檔案路徑資訊作為這個方法的引數
例如:(在c:\windows資料夾建立一個xxwl.ini檔案)
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.CreateTextFile("c:\windows\xxwl.ini")
如果這個檔案不存在,那麼 CreateTextFile 方法會建立一個。如果這個檔案已經存在,那麼CreateTextFile 方法會複寫存在的文字檔案,並以新的空白的檔案取代它。
如果不想這個檔案被取代,那麼就用一個可以選擇的引數 Overwrite 。當這個引數設定成 False 的時候,這個檔案就不被複寫。當這個引數被設定成 True(預設的是 True)時,那麼就會被複寫也就是清空。
例如:(在c:\windows資料夾建立一個xxwl.ini檔案,如果檔案存在,而又不想被複寫那麼就用如下程式碼)
Set objFile = objFSO.CreateTextFile("c:\windows\xxwl.ini", False)
如果你將引數設定成False,並且檔案存在,那麼就會有一個執行的錯誤。因為如此,你可以檢查檔案是否存在,如果存在,那麼就作其它的操作:
例如:(需要在c:\windows資料夾建立一個xxwl.ini檔案,如果這個檔案存在就顯示其中的內容如果不存在就建立一個)
Set objFSO = CreateObject("Scripting.FileSystemObject")
If objFSO.FileExists("c:\windows\xxwl.ini") Then
Set objFile =
objFSO.OpenTextFile("c:\windows\xxwl.ini", 1)
txt = objFile.ReadAll
Wscript.Echo txt
Else
Set objFolder = objFSO.GetFile("c:\windows\xxwl.ini")
End If
建立臨時檔案的方法:
為了生成一個臨時檔名,指令碼首先要建立一個 FSO 物件例項然後呼叫 GetTempName 方法(不用引數。)
例如:(需要建立10個臨時檔名)
Set objFSO = CreateObject("Scripting.FileSystemObject")
For i = 1 to 10
strTempFile = objFSO.GetTempName
Wscript.Echo strTempFile
Next
用 GetTempName 來生成檔案的名字生成的不是唯一的。部分原因是生成名稱的演算法,部分是因為可能的名字的數量是有限的。檔名字被限制為 8 個位元組,而且前三個位元組規定為rad,例如,你用指令碼來建立 10000 個檔名字,在第 9894 個檔名字之後就不再是唯一的了,剩下的 106 個 53 對是重複的。
例如:(要在c:\xxwl\生成一個臨時的檔案)
Set objFSO = CreateObject("Scripting.FileSystemObject")
strPath = "C:\xxwl"
strFileName = objFSO.GetTempName
strFullName = objFSO.BuildPath(strPath, strFileName)
Set objFile = objFSO.CreateTextFile(strFullName)
objFile.Close
這裡如果資料夾xxwl不存在就會提示錯誤,那麼就要先檢查了,檢查和建立資料夾的方法會在資料夾操作中學習
像文字檔案中寫入資料是寫系統管理指令碼的另外一個強大的功用。文字檔案提供了一種方法可以讓你將指令碼獲得的輸入儲存在其中。輸入可以替代現有的文字或者是新增到現有的文字後面。文字文檔案也可以紀錄指令碼的執行情況。這個對於debug 指令碼來說費城有用。將指令碼的執行紀錄放在一個文字檔案中,你可以過陣子來察看這個日誌去決定指令碼實際執行了哪些而哪些沒有執行。FSO 給你提供了向文字檔案中寫如資料的能力。為了用 FSO 指令碼向一個文字檔案中寫入資料,你必須:
1. 建立一個 FSO 物件例項。
2. 用 OpenTextFile 方法開啟這個文字檔案,你可以以兩種方法開啟:
For writing (parameter value 2, constant = ForWriting).
例如:
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile ("c:\windows\xxwl.ini", 2,
True)
在這個模式下,寫入新的資料會覆蓋舊的資料。(舊的資料會被刪除,新的資料新增上去。)
用這個模式,是將存在的檔案換上新的內容。
For appending (parameter value 8, constant = ForAppending).
例如:
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile ("c:\windows\xxwl.ini", 8,
True)
在這種模式下,資料寫在原來檔案的末尾。用這種模式向現有的檔案中新增資料。
3. 用或者 Write,WriteLine,WriteBlankLine 方法來向文字檔案中寫入資料。
4. 關閉文字檔案
向文字檔案中寫資料的三種方法在表格如下:
Write 向文字檔案中寫入資料,不是新增檔案到末尾。不會自動換行。
例如,如下程式碼寫入兩個單獨的字串:
objFile.Write ("This is line 1.")
objFile.Write ("This is line 2.")
返回的資料類似如下:
This is line 1.This is line 2.
WriteLine 向文字檔案中寫入資料後新增一個換行符號,然後區自動換行的。
比如,如下的程式碼:
objFile.WriteLine ("This is line 1.")
objFile.WriteLine ("This is line 2.")
結果輸出的資訊如下:
This is line 1.
This is line 2.
WriteBlankLines 向文字檔案中寫入特定數目空白的行。例如如下的程式碼向文字檔案中寫入兩行獨立的文字,然後用空白的行分開:
objFile.Writeline ("This is line 1.")
objFile.WriteBlankLines(1)
objFile.Writeline ("This is line 2.")
輸出的結果如下:
This is line 1.
This is line 2.
除了以上方法之外,VB 指令碼提供了常量 VbTab 來向文字檔案中寫入。VbTab
向兩個字元中插入一個空格。為了建立一個空格分隔的檔案,程式碼和下面的類似:
objTextFile.WriteLine(objService.DisplayName & vbTab & objService.State)
FSO 的一個弱點就是它不能直接修改特定的行的資訊。你不能寫類似下面的命令:跳過到第五行,更改一些資料,然後儲存成新的檔案。為了修改在一個十行檔案中的第五行,你的指令碼必須
1. .讀取整個 10 行
2. .將 1-4 行寫回檔案。
3. 寫入修改好的第五行的內容。
4. 寫入第 6 行到第 10 行的內容。
在系統管理中,簡潔是一種美德。例如,假如你的指令碼每天晚上執行,在你的 DC 上從事件日誌中獲得日誌,將這些事件寫入資料庫中,紀錄哪個計算機可以成功的連線到,哪個不可以。基於一些歷史的目的,你或許希望跟蹤明年一整年的所有成功和失敗的紀錄。這個對於指令碼剛開始生效和網路不穩定的情況下來說,都是非常重要的。從另外的情況來說,你或許只是希望剛才指令碼執行的時候發生了什麼。換句話說說,你不是希望要一個日誌中過去的 365 天的資訊,而是要距離最近的資訊。它讓你可以很快的開啟檔案並且查詢看指令碼是否按照計劃的執行。
當你的文字檔案用 ForWriting 模式開啟的,任何寫入的新的資料會替代原來存在的檔案。例如,假如你的文字檔案裡面儲存了整個莎士比亞的故事全集,但是你用指令碼以 ForWriting 模式打開了這個文字,並且向裡面寫了一個字母 a,那麼當你的這個檔案寫完關閉之後,它就只是包含一個字母 a,原來的資料就全部丟失了。
這個指令碼以 ForWriting 模式開啟指令碼 C:\FSO\Scriptlog.txt 然後將當前的日期和時間寫入檔案。每當指令碼執行的時候,舊的時間和日期被新的取代,這個文字檔案就永遠只是有單獨的一個日期的值。
Const ForWriting = 2
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("C:\windows\xxwl.ini", ForWriting)
objFile.Write Now
objFile.Close
許多指令碼被設計成為在特定的時間間隔的時候執行,收據資料,儲存資料。這些指令碼的是用來分析趨勢或者在過去的時間內部的使用情況。在這些情況下,你就不希望刪除現在存在的資料而去替代成新的資料。
例如,假如你用你的指令碼監視程序使用量。在任何一個時間點上,程序的使用量應該是在 0 到100 之間的一個值,對於它自己來說,單個的值沒有什麼意義。為了獲得程序使用的一個完整的圖景,你需要重複不斷的監視使用情況並紀錄它的值。如果你的程序在每幾秒鐘之內返回的資料是9%,17%,92%,90%,79%,88%,91%那麼你的程序使用是非常高的。這個就可以對比出這個時間內的使用情況。
如果以 ForAppending 的模式開啟一個檔案,你可以使資料不是覆蓋現有的資料,它的資料是新增到檔案的底部。例如,在 4.43 中的指令碼開啟一個文字檔案,並且將當前的日期和時間寫入檔案。因為是以 ForAppending
的模式開啟的檔案,當前的日期會解除安裝檔案的底部。如果你在不同的時候分別執行指令碼,你的指令碼結束時候大約如下面的資訊:
6/25/2002 8:49:47 AM
6/25/2002 8:49:48 AM
6/25/2002 8:50:33 AM
6/25/2002 8:50:35 AM
Const ForAppending = 8
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("C:\windows\xxwl.ini", ForAppending)
objFile.WriteLine Now
objFile.Close
上面的指令碼用 WriteLine 方法寫入資料保證每個日期都是獨佔一行的。如果這個指令碼用 Write
的方法來寫的話,那麼這個指令碼執行結束的時候,資料寫在一起,如下的樣子:
6/25/2002 8:49:47 AM6/25/2002 8:49:48 AM6/25/2002 8:50:33 AM6/25/2002 8:50:35 AM
用文字檔案來工作有三個主要的步驟。在你可以作其它的事情之前,你必須開啟文字檔案。這個你可以開啟存在的檔案或者建立一個新的文字檔案,建立結束之後,預設檔案是開啟的。每個方法都是返回一個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).
檔案在這種模式下開啟,並且新的資料新增到檔案的末尾。用這個方法向存在的檔案中新增新的資料。
當開啟檔案的時候,你必須使用適當的引數。當你用讀的模式開啟一個檔案而試圖向裡面寫東西的時候,你會收到一個的錯誤。你如果試圖開啟一個非文字檔案的話也會收到同樣的錯誤的。你可以直接用數值(比如 1 代表寫)或者建立一個常量然後賦值給它適當的值。
例如,如下的兩種方法都可以開啟一個檔案並且準備被讀:
例一:(讀取方式開啟C:\windows\xxwl.ini)
Const ForReading = 1
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("C:\windows\xxwl.ini", ForReading)
例二:(讀取方式開啟C:\windows\xxwl.ini)
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("C:\windows\xxwl.ini", 1)
但是在沒有定義這個常量ForReading 的時候,你不能直接用。這是因為事實上 VB 指令碼並沒有這些 COM 物件常量。如下的指令碼會返回一個錯誤並且失敗。這是因為ForReading 這個常量並沒有顯式的定義。因為它沒有定義,所以這變數預設情況下被賦值為 0,而 0 對於 OpenTextFile 來說並不是一個合法的引數:
所有的用指令碼開啟的文字檔案在指令碼結束的時候會自動關閉。但是我們要養成關閉檔案的一個好的習慣,這樣就可以避免產生的一些錯誤。
有些時候你或許希望用一個指令碼多次讀一個檔案。你或許開啟一個文字檔案然後將它所有的內容全部儲存給一個字串變數,然後搜尋這個字串來查詢特定的錯誤的程式碼。當這個錯誤找到了,你再逐行去讀取檔案,提煉出有錯誤的每一行。如果你嘗試多次去讀一個檔案,你不會收到你期待的結果,而是會遇到一個執行的錯誤。例如下的指令碼讀取一個文字檔案,返回檔案的內容到螢幕,然後嘗試重複這樣的過程:
Set objFSO =
CreateObject("Scripting.FileSystemObject")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("c:\windows\xxwl.ini", 1)
Wscript.Echo "第一次讀取檔案"
strContents = objFile.ReadAll
Wscript.Echo strContents
Wscript.Echo "檔案讀取完畢"
Do While objFile.AtEndOfStream = False
strLine = objFile.ReadLine
Wscript.Echo strLine
Loop
第一次檔案是被讀取的,內容儲存在變數 strContents 上,第二次,檔案讀取的時候,沒什有資料回顯在螢幕上,這是因為檔案已經到達了檔案的末尾,沒有其它的資料給你讀了。為了讀取這個資料,你必須關閉這個檔案然後重新開啟它。你不能在讀到檔案的末尾之後去跳到檔案的開頭去了。TextStreamObject.Close 方法用來關閉一個文字檔案。例如,下面的指令碼建立一個FSO物件例項,然後開啟一個文字檔案,然後在立即關閉了。為了訪問檔案的內容,你必須再一次的呼叫 OpenTextFile 方法去重新開啟這個檔案。
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("C:\windows\xxwl.ini", 1)
objFile.Close
在許多的企業指令碼中,讀取文字檔案的內容是個標準程序,你可以用這個功能來讀取命令列的引數。例如,你的文字檔案包含了計算機名字的列表,指令碼審計成讀取這個列表,然後在每個計算機上執行這個指令碼。搜尋滿足特定條件的日誌檔案。例如,你或許想找所有有錯誤的日誌。將日誌檔案中新增內容並且匯入到資料庫。例如,你或許有一個服務或者程式來儲存資訊到特定存文字檔案格式。然後你用指令碼來讀取這個檔案拷貝相關的資訊到資料庫中。
可以用 FSO 來都讀取文字檔案的內容,但是有以下幾點你需要牢記:FSO 只能讀取 ASCII 的文字檔案。你不能用 FSO 讀取unicode 或者
binary 檔案格式的檔案,比如 microsoft word 或者是 Microsoft excel .用 FSO讀取文字檔案的時候,只能有一種方式:從前到後。此外,FSO 讀取檔案的時候是逐行讀取的。如果你試圖返回前面的行,你必須從開始再重新讀取,直到特定的行。
你不能開啟一個檔案同時用來讀和寫。如果你開啟一個檔案是為了讀的,那麼你想修改檔案內容的時候,你必須重新開啟檔案。如果你嘗試在寫的模式下讀取檔案,那麼你會收到一個的錯誤。
還有讀取特定的字元然後停止也是我們常用的技巧:
讀取第一行的前 12 個字元並且將它賦值給變數 strText
strText = objTextFile.Read(12)
讀取一行並且將它賦值給變數strText
strText = objTextFile.ReadLine
跳過前面的 12 位元組 從第 13 個字元開始
objTextFile.Skip(12)
先讀第一行,然後讀取第三行。跳過了第二行
strText = objTextFile.Readline
objTextFile.SkipLine
strText = objTextFile.Readline
跳過3行
For i=1 to 3
objTextFile.ReadLine
Next
正如前面提到的,FSO 只能從文字檔案的前面讀到後面,你不能從後面向前面讀。這個對於日誌檔案來說有一些問題,大部分的日誌檔案是按照日期格式來寫的,它的最開始的第一個日誌被紀錄在第一行,第二個紀錄紀錄在第二行,依次類推。這就以為著你感興趣的事情,最新的日誌往往在檔案末尾。
有的時候你希望按照反日期的順序來顯示資訊,就是最近的紀錄最先顯示,最舊的紀錄最後顯示。雖然你不能從後面先前的讀取文字檔案,但是你要可以實現上面的目的,指令碼必須:
1. 建立一個數組來儲存文字檔案的每行資訊
2. 用 ReadLine 的方法讀取文字檔案的每行資訊,然後將每行的資訊作為陣列的一個獨立的元 素儲存在陣列中。
3. 在螢幕上顯示陣列的資訊,從陣列的最後面開始,向前顯示。
例如,下面的指令碼讀取檔案 c:\windows\xxwl.ini的資訊,然後將每行的資訊作為陣列
的一個元素儲存在陣列 arrFileLine 中。在整個檔案被讀了之後,從陣列的最後一個開始回顯陣列的資訊。為了做到這點,用了一個 for迴圈,從陣列的最後一個元素, 逐漸增長到第一個元素,
Dim arrFileLines()
i = 0
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("C:\windows\xxwl.ini", 1)
Do Until objFile.AtEndOfStream
Redim Preserve arrFileLines(i)
arrFileLines(i) = objFile.ReadLine
i = i + 1
Loop
objFile.Close
For l = Ubound(arrFileLines) to LBound(arrFileLines) Step -1
Wscript.Echo arrFileLines(l)
Next
如果檔案的內容和下面的一樣:
1ddd
2ccc
3bbb
4aaa
那麼在螢幕上回顯的資訊如下:
4aaa
3bbb
2ccc
1ddd
在一些定寬的文字檔案中,區域是受長度的限制的。第一個 field1 或許包含 15 個位元組,第 2個 field 或許含有十個,依次類推。那麼這樣的檔案看起來和下面的差不多:
Server Value Status
atl-dc-0119345 OK
atl-printserver-02 00042 OK
atl-win2kpro-0500000 Failed
在有些情況下,你或許只是想獲得 values 的值或者只是想獲得 status 的資訊。這個 value 的資訊,容易表明。Values 總是從第 26 個字元開始,不超過 5 個字元。為了獲得這些值,你只需要獲得第 26,27,28,29,30 個字元的資訊。
方法 Read 允許你讀取特定數目的位元組。它的一個單獨的引數就是你要讀的位元組的個數。
例如,如下的指令碼程式碼示例,讀取後面的 7 個位元組,並將讀取的值存給變數 strCharacters:
strCharacters = objFile.Read(7)
用 Skip 和 SkipLine 方法,你可以獲得文字檔案中你選擇的特定字元。
例如,下面指令碼是讀取每行的第 6 個位元組。為了做到這點,指令碼必須:
1. 跳過每行前面五個位元組用 Skip(5)
2. 用 Read(1)讀取第 6 個位元組
3. 跳到下面一行。
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("c:\windows\xxwl.ini", 1)
Do Until objFile.AtEndOfStream
objFile.Skip(5)
strCharacters = objFile.Read(1)
Wscript.Echo strCharacters
objFile.SkipLine
Loop
為了更好說明指令碼是如何工作的,我們假設指令碼檔案 c:\windows\xxwl.ini 看起來是如下的樣子的:
xxxxxxxaXXXXXXXXXXXXXX
XXXXXbXXXXXXXXXXXXXXXXXXX
XXXXXcXXXXXXXXXXXXx
XXXXXdXXXXXXXXXXXXXXXXXXXXXXXXX
對於這個檔案的每行,前面的五個字元都是 x,第六個是數字,後面是隨機數量的 x。當指令碼 執行的時候,指令碼會:
1. 開啟文字檔案從第一行開始讀起。
2. 跳過前面五個字元。
3. 用 Read 載方法讀取第六個字元
4. 回顯字元在螢幕上
5. 跳到下面一行重複上面的程序,直到指令碼執行結束。.
OpenTextFile 方法
開啟指定的檔案並返回一個 TextStream 物件,可以通過這個物件對檔案進行讀、寫或追加。
object.OpenTextFile(filename[, iomode[, create[, format]]])
引數
object
必選項。 object 應為 FileSystemObject 的名稱。
filename
必選項。 指明要開啟檔案的字串表示式。
iomode
可選項。 可以是三個常數之一: ForReading 、 ForWriting 或 ForAppending 。
create
可選項。 Boolean 值,指明當指定的 filename 不存在時是否建立新檔案。 如果建立新檔案則值為 True ,如果不建立則為 False 。 如果忽略,則不建立新檔案。
format
可選項。 使用三態值中的一個來指明開啟檔案的格式。 如果忽略,那麼檔案將以 ASCII 格式開啟。
設定
iomode 引數可以是下列設定中的任一種:
常數 值 描述
ForReading 1 以只讀方式開啟檔案。 不能寫這個檔案。
ForWriting 2 以寫方式開啟檔案
ForAppending 8 開啟檔案並從檔案末尾開始寫。
format 引數可以是下列設定中的任一種:
值 描述
TristateTrue 以 Unicode 格式開啟檔案。
TristateFalse 以 ASCII 格式開啟檔案。
TristateUseDefault 使用系統預設值開啟檔案。
說明
下面的程式碼說明了如何使用 OpenTextFile 方法開啟檔案並追加文字:
var fs, a, ForAppending;
ForAppending = 8;
fs = new ActiveXObject("Scripting.FileSystemObject");
//可以是三個常數之一: ForReading 、 ForWriting 或 ForAppending
//分別是 1 ,2 ,3
a = fs.OpenTextFile("c:\\testfile.txt", 1, false);
...
a.Close();
相關推薦
VBS讀寫檔案以及OpenTextFile方法
檔案的建立: FSO 讓你可以用現存在的文字工作,也可以讓你自己建立指令碼。為了建立一個新的文字檔案,簡單的建立一個 FSO 物件,然後呼叫 CreateTextFile 方法,輸入完整的檔案路徑資訊作為這個方法的引數 例如:(在c:\windows資料夾建立一個xxwl.ini檔案) Set obj
Python學習筆記系列——讀寫檔案以及敏感詞過濾器的實現
一、讀檔案 #開啟檔案,傳入檔名和識別符號,r代表讀 f= open('\\Users\ZC\Desktop\zc.txt','r') #呼叫read方法一次性讀取檔案的全部內容,存入記憶體,用str物件表示 print(f.read()) f.close() #使用with無論程式是否
C#讀寫檔案的所有方法總結
計算機在最初只支援ASCII編碼,但是後來為了支援其他語言中的字元(比如漢字)以及一些特殊字元(比如€),就引入了Unicode字符集。基於Unicode字符集的編碼方式有很多,比如UTF-7、UTF-8、Unicode以及UTF-32。在Windows作業系統中,一個文字檔案的前幾個位元組
Java讀寫檔案的方法
Java讀寫檔案的方法有很多種形式,分享一下我整理出來的一種情況。 一、讀檔案: public static void ReadFile() { String file_path = "data/newFilename.txt"; try (FileReader reader = n
python 4種讀寫檔案方法
#encoding:utf-8 """ @project_name = pytest @file = demo_readAndWrite_File.py @author = angel @create_
C/C++快速讀寫磁碟資料的方法-塊讀取/非同步/優化分析演算法/記憶體檔案對映的原理和使用
快速讀寫磁碟資料的方法: 1.塊讀取:一下子將資料讀取到記憶體的(無論是文字還是二進位制),而不是一行行的讀取。 2.非同步的IO,建立多執行緒,或者使用重疊IO,IO複用,非同步的事件回撥通知機制(可以用事件物件,訊號驅動來實現)。 3.優化分析檔案的演算法和儘量延後分析,分析演算法裡
apiCloud中讀寫檔案的方法
在apicloud中分別有api.readfile和api.writeFile兩個方法可以對檔案進行讀寫。 function Examination(){ //alert('ok');//讀取配置資訊並判斷api.readFile({path:'fs://confi
fstream與 C 風格(例如fread 和 fwrite )兩種讀寫檔案方法的效率比較
為了探錄c++ 風格的fstream與 C 風格(例如fread 和 fwrite )兩種讀寫檔案的方法的效率,我特意做了兩個實驗。 我的機器是Windows XP, Visual Studio 2008 1. 測試寫檔案速度 程式設計思路: 將TEST_SIZE個
Hyper-V無法檔案拖拽解決方案~~~這次用一個取巧的方法架設一個FTP來訪問某個磁碟,並方便的讀寫檔案
出於安全的考慮,微軟是把物理機和虛擬機器完全隔離的,所以我們就蛋疼了,網上說的方法很多,比如: 近期將本本裝了win8,win8裝了hyper-v,hyper-v裡裝了win server2012和win8,但是發現物理機win8無法到hyper-v虛擬機器server2012和win8複製檔案
nodeJS中讀寫檔案方法的區別
var fs = require('fs'); fs.open('./message.txt','r',function(err,fd){ var buf = new Buffer(225); //讀取fd檔案內容到buf快取區 fs.read(fd,buf,0,9,3,functio
[Java]讀寫檔案方法大全
讀取檔案 1、按位元組讀取檔案內容 2、按字元讀取檔案內容 3、按行讀取檔案內容 4、隨機讀取檔案內容 public class ReadFromFile { /** * 以位元組為單位讀取檔案,常用於讀二進位制檔案,如圖片、聲音、影像等檔案。
python中 對檔案的讀寫操作 以及如何邊寫入 邊儲存flush()
首先 python中開啟檔案大致常用的幾類如下: 1.寫入檔案write #這種寫入方式會將原文字刪除,重新寫入 File = open("test.txt",'w') 2.讀取檔案read File = open("test.txt",'a+')
C#中 XML 讀寫檔案的方法(xmlreader,xmlwriter)
class Test { public static void Main(string[] args) { string path = "d:\\books.xml"; XmlReader read
Python遍歷資料夾和讀寫檔案的方法
#-*- coding: UTF-8 -*- ''' 1、讀取指定目錄下的所有檔案 2、讀取指定檔案,輸出檔案內容 3、建立一個檔案並儲存到指定目錄 ''' import os # 遍歷指定目錄,顯示目錄下的所有檔名 def eachFile(filepath): pathDir = os.l
js前端讀寫檔案的方法(json、excel)
1、前端讀取檔案的實現關鍵:利用檔案上傳對話方塊預覽本地檔案、利用FileReader讀取檔案前端預覽本地檔案<input tabindex="-1" id="select_range" data-input="false" class="font-small" typ
Python讀寫excel表格的方法
python excel 表格 xls 目的:實現用python做excel的讀取、新增、修改操作。環境:ubuntu 16.04 Python 3.5.2用python讀寫文檔,一般是操作txt文件或者可以用記事本打開的文件,因為這個操作很直接,不需要導入其他模塊,但如果想要對excel表
java 讀寫文件常用方法
tools int big cti readline out 隨機 i++ utf package study.bigdata; import org.apache.commons.io.FileUtils; import org.apache.commons.io.I
Python讀寫excel表格的方法二
python excel 讀寫表格 目的:實現用python的另一種方法做excel的讀取、新增操作。環境:ubuntu 16.04 Python 3.5.2情景:之前介紹了一種操作excel文件的方法(私鏈),現在使用另一種方法讀寫excel文件,一次性讀出或寫入,讀寫也很方便,讀出為有序字典
Mac OSX原生讀寫NTFS功能開啟方法
ima 是你 bsp mac 需要 util 發現 find top macOX系統內建的NTFS支持默認只能讀不能寫 原生讀寫NTFS,需要自行終端命令手動開啟 1. 插上磁盤 此時Mac桌面應該會顯示出插入的磁盤,但是當你想把文件拖入磁盤的時候,發現是不能拖進去的
Nginx如何實現讀寫限流的方法
http height normal radi wrap border ret ola style 針對Nginx請求,單個IP,每秒50讀次,寫10次。萬能的Nginx,幾行配置搞定# 先定義好規則,需要寫在server外面 limit_req_zone $binary_