ReadAllText 物件的 My.Computer.FileSystem 方法可讓您從文字檔讀取。 如果檔案的內容使用 ASCII 或 UTF-8 等編碼方式,則可以指定檔案編碼。
如果您要從具有擴充字元的檔案讀取,則必須指定檔案編碼。
備註
若要一次讀取單行文字檔案,請使用 OpenTextFileReader 物件的方法 My.Computer.FileSystem 。
OpenTextFileReader 方法會傳回 StreamReader 物件。 利用 ReadLine 物件中的 StreamReader 方法來一次讀取一行檔案。 您可以使用EndOfStream物件的StreamReader方法測試檔案結尾。
從文字檔讀取
使用ReadAllText物件的My.Computer.FileSystem方法,將文本文件的內容讀入字串,並提供路徑。 下列範例會將 test.txt 的內容讀入字串,然後在消息框中顯示。
Dim fileReader As String
fileReader = My.Computer.FileSystem.ReadAllText("test.txt")
MsgBox(fileReader)
從編碼的文字檔讀取
使用ReadAllText物件的My.Computer.FileSystem方法,將文本檔案的內容讀入字串,並指定路徑和檔案編碼類型。 下列範例會將UTF32檔案的內容讀入字串中 test.txt,然後將它顯示在消息框中。
Dim fileReader As String
fileReader = My.Computer.FileSystem.ReadAllText("test.txt",
System.Text.Encoding.UTF32)
MsgBox(fileReader)
從文字檔讀取至 RichTextBox 控制項
若要將文字檔的內容直接載入 RichTextBox 控制項,請將檔案內容讀取為字串,並將它指派給 Text RichTextBox 的屬性。 下列範例示範如何讀取文字檔,並將它載入 RichTextBox 控制項。
' Load text file into a RichTextBox control
' Note: This assumes RichTextBox1 is a control on your form
Dim fileText As String
fileText = My.Computer.FileSystem.ReadAllText("test.txt")
' RichTextBox1.Text = fileText
為了更好地處理錯誤和檔案路徑管理,您可以使用下列方法來建構適當的檔案路徑並處理潛在的例外狀況。 此方法可避免硬式編碼磁碟機路徑,以免在不同系統上造成問題:
' Load text file into a RichTextBox control using a specific path
Try
Dim filePath As String = System.IO.Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, "test.txt")
Dim fileText As String = My.Computer.FileSystem.ReadAllText(filePath)
' RichTextBox1.Text = fileText
Catch ex As System.IO.FileNotFoundException
MsgBox("File not found: " & ex.Message)
Catch ex As Exception
MsgBox("Error reading file: " & ex.Message)
End Try
備註
指定檔案路徑時,請避免使用硬編碼的絕對路徑,例如「C:\temp\file.txt」,因為這些路徑可能會在磁碟機代號或目錄結構不同的系統上導致問題。 相反地,請使用相對路徑或利用Combine功能來建構路徑,以確保您的程式碼可以在不同環境中運作。
健全的程式設計
以下條件可能會造成例外狀況:
路徑無效,原因如下:它是長度為零的字串、只包含空格符、包含無效字元,或是裝置路徑 (ArgumentException)。
路徑是無效的,因為它是 Nothing (ArgumentNullException)。
檔案不存在 (FileNotFoundException)。
檔案正由另一個進程使用,或發生 I/O 錯誤 (IOException)。
路徑超過系統定義的最大長度 (PathTooLongException)。
路徑中的檔案或目錄名稱包含冒號(:)或格式無效 (NotSupportedException)。
記憶體不足,無法將字串寫入緩衝區 (OutOfMemoryException)。
使用者缺少檢視路徑的必要許可權(SecurityException)。
請勿根據檔案名稱來判斷檔案內容。 例如,檔案 Form1.vb 可能不是 Visual Basic 來源檔案。
在應用程式中使用這些資料之前,請先驗證所有輸入值。 檔案的內容可能不是預期的內容,而且從檔案讀取的方法可能會失敗。
另請參閱
FileSystem
ReadAllText
從檔案讀取
如何讀取 Comma-Delimited 文本文件
如何:從固定寬度文本文件讀取
如何:從具有多種格式的文本文件讀取
疑難解答:讀取和寫入文本檔
操作指南:在 Visual Basic 中操作檔案和目錄
檔案編碼
- 《三国演义》为什么能成为传世经典?看这篇也许你才真正明白在三国里大约有一百多位谋士,诸葛亮被称为第一号谋士,鞠躬尽瘁,死而后已,杜甫有诗云:“出师未捷身先死,长使英雄泪满襟”。草船借...
- 鲈鱼为什么那么容易死鲈鱼容易死的原因可能是低温、缺氧造成的。鲈鱼对低温、缺氧的抵抗能力不高,正常适宜生活的温度为14度以上,当水温降至临界7度时或水中...
- 全民农场2025盛夏狂欢季:丰收庆典暨全球玩家联欢互动主题活动 活动详情 活动时间:2025年7月15日 10:00 - 2025年8月15日 22:00 活动内容: 限时双倍收益:活动期间所有农作物成熟时间缩短30%,动物产品...
- 足坛豪门转会费通胀调整!C罗从曼联转会皇马若放现在应为326亿欧元!近20年来,足坛不断刷新着转会费纪录,巨星们的转会交易也成为每年球迷热议的焦点。随着通货膨胀,许多已经过去十几甚至二十年的转会,...
- 炒地皮等六款趣味游戏大合集——2025年5月21日欢乐派对为了给大家带来一场充满欢声笑语的趣味游戏体验,我们特别策划了“炒地皮等六款趣味游戏大合集”活动!活动将于2025年5月21日正式开启,届...
- 超市也能成商机?多乐囤超级折扣店加盟背后的盈利真相大揭秘!当“线上购物”成为大多数人的消费习惯,当社区便利店、生鲜超市遍布街头巷尾,传统超市的生存空间似乎被挤压得越来越小。但多乐囤超级...
- 杜鑫简介生殖医学科由生殖医学临床(女科、男科)、实验室、护理三部分组成,科室设临床负责人,实验室、护理负责人各一名,具备女性不孕不育、男...
- 《惊天神将》2025春季巅峰之战:神将争霸赛盛大开启!亲爱的《惊天神将》玩家们,准备好迎接2025年最激动人心的时刻了吗?我们隆重宣布,2025春季巅峰之战:神将争霸赛将于2025年4月11日正式拉开...
- 荆棘之兴 Build, Runes & Counters for middle 荆棘之兴Analyzing 2,592 games played by the top 329 荆棘之兴 players worldwide over the last 7 days. The average rank of these top 荆棘之兴 players was Master . Taking into account win rate ...
- 全民弹弹·2025盛夏狂欢季——弹射对决全服争霸赛暨夏日福利盛典 ══ 盛夏弹射新纪元 ══ 📅 活动时间 2025年6月21日10:00 - 7月10日23:59 🎯 弹射对决玩法升级 全服段位赛:采用三局两胜淘汰制,匹配...