C# TXT 檔案解析範例|讀取文字檔程式碼完整說明(.NET)|C# 檔案處理系列

更新 發佈閱讀 10 分鐘

在學會使用 C# 讀取 TXT 檔案 之後,下一步就是理解實際的程式碼運作方式。本篇將針對 C# TXT 檔案解析範例 進行完整說明,包含文字檔讀取流程、逐行處理邏輯,以及常見的資料解析技巧,幫助你真正看懂每一段程式碼,而不只是單純使用。


本篇重點:

  • ✔ C# 讀取 TXT 範例程式碼解析
  • ✔ 文字檔逐行讀取與處理方式
  • ✔ 常見實務情境與解析技巧

👉 如果你還沒看基礎教學,建議先閱讀:C# TXT 檔案解析教學|讀取文字檔與資料處理完整範例|C# 檔案處理系列

開始範例程式碼解析

範例的功能:txt檔案程式解析

vocus|新世代的創作平台

1 . 開啟 C# TXT 檔案解析教學|讀取文字檔與資料處理完整範例|C# 檔案處理系列 程式

vocus|新世代的創作平台

2 . 程式碼研究

  • 我們找到button1按下會執行的程式碼,開始一行一行解讀。
 private void button1_Click(object sender, EventArgs e)
{
string filePath = @"C:\txtParse\課程8.txt";

string[] lines = File.ReadAllLines(filePath);

foreach (string line in lines)
{

string[] values = line.Split(
new char[] { ' ' },
StringSplitOptions.RemoveEmptyEntries
);

string account = values[0];
string code = values[1];
string type = values[2];
string amount = values[3];
string time = values[4];


Console.WriteLine(account + "," + code + "," + type + "," + amount + "," + time);

}
}

程式碼片段:

  1. string filePath = @"C:\txtParse\課程8.txt";
  2. string[] lines = File.ReadAllLines(filePath);

-------------------------------------------------------------------------------------------------------

第 1 行 宣告一個string(字串型態)的變數filePath ,把要解析的txt檔案存放的資料夾路徑,寫在這個變數裡面,等一下就能用這個變數找到檔案位置。

第 2 行 File.ReadAllLines是.net內建提供的用法,如ReadAllLines的字面意思用來讀取txt檔案的每一行,並且讀出來的值一行放一個位置,所以我們用string(字串型態)陣列lines去接讀回來的內容。
讀回來的資料就會長這樣:["第一行的值","第二行的值","第三行的值"]。
這就是陣列,但其實你可以想成也是一個容器,只是這容器比較像有分隔的箱子可以裝很多東西。

程式碼片段:

  1. foreach (string line in lines)
  2. {

-------------------------------------------------------------------------------------------------------

第 1 行 foreach 對陣列lines裡面的值一個一個取出來。

程式碼片段:

  1. string[] values = line.Split(new char[] { ' ' },StringSplitOptions.RemoveEmptyEntries);

-------------------------------------------------------------------------------------------------------

第 1 行 這串一起看會有點複雜,我先用簡單的方式講解。Split這個方法是string裡面內建的方法,如字面上的意思它可以把字串做分割。
舉例: 假設今天有一串字串string test="xxx,yyy,zzz"; ,用test.Split(new char[] { ',' }),就會分割出["xxx","yyy","zzz"] 。

需求:0000000000000000002 000000000000000P 入錢 00000001 20250620080337你會發現每一個值中間是用空白做分割,而且空白的數量還不固定,如果我們只用一個空白字元Split(new char[] { ' ' })去分割,你會發現多出很多空的字串["0000000000000000002","","000000000000000P","","入錢","","","","","","00000001","","","","20250620080337"],因此我們才需要加入StringSplitOptions.RemoveEmptyEntries如字面意思就是拿掉空的字串,這樣才能正確地取出值["0000000000000000002","000000000000000P","入錢","00000001","20250620080337"]

最後我們就能用string陣列values去接這個拆分回來的值。
(*補充:還是要再次提醒,如果看不懂沒關係,只要大略懂概念就行,因為這些拆分的格式其實都很固定,我自己也都沒在記,需要時再上網查即可。)

程式碼片段:

  1. string account = values[0];
  2. string code = values[1];
  3. string type = values[2];
  4. string amount = values[3];
  5. string time = values[4];

-------------------------------------------------------------------------------------------------------

第 1 行 前一段程式碼,我們有一個string陣列values接回字串拆分的值,因為我們的txt格式固定,所以總共會有五個值存在陣列裡,因此我們從位置0開始取出到位置4。string account = values[0]; ,取第一個陣列值,帳戶資訊,所以命名string變數為account來存這個值。之後2-5行程式碼就都是一樣的概念。

第 2 行 string code = values[1]; ,取陣列的第二個值,銀行交易碼,取名code。

第 3 行 string type = values[2];,取陣列的第三個值,交易別,取名type。

第 4 行 string amount = values[3]; ,取陣列的第四個值,金額,取名amount。

第 5 行 string time = values[4];,取陣列的第五個值,交易時間,取名time。

程式碼片段:

  1. Console.WriteLine(account + "," + code + "," + type + "," + amount + "," + time);

-------------------------------------------------------------------------------------------------------

第 1 行 Console.WriteLine就是.net內建的用法,會把你丟進去的內容顯示在輸出框。

(account + "," + code + "," + type + "," + amount + "," + time),在.net裡如果是string的變數做相 + 就會把字串串在一起,我們這邊把解析的每個值做串連起來,每個值與值之間多加一個逗號讓我們再輸出框比較好看每個值。

結論

目前我們到這邊已經成功解析txt的值,不過你會發現我們只是把程式寫出來,解析的內容也只有按下執行的工程師才能在編譯器裡面的輸出框看到,這並不能幫助使用者。因此軟體工程師往往不是只要把程式跟功能做出來就好,還要站在使用者的角度去為他們著想。

之前我們的篇章都比較簡單都是一個按鈕就把功能做好了,現在這個功能剛好需要讓使用者可以看到數值,下一章我們要開始進階多增加元件來顯示解析txt出來的值。

留言
avatar-img
ITT Fun
1會員
19內容數
主要內容會教大家如何快速有效轉職到中大型公司內部系統的軟體工程師。 程式真的沒有很困難,不論之前覺得學習太枯燥乏味或是其他因素而放棄或從未開始,這邊會帶給大家不同的體驗。 我們會用實際案例來當作教學主軸,用我親身的經歷讓大家快樂學習程式,過程中可以累積很多程式作品還會提升很多成就感,同時還能增加成功轉職的機會!
ITT Fun的其他內容
2026/04/30
在進行資料處理或系統開發時,C# 讀取 TXT 檔案 是非常常見的需求,例如讀取設定檔、日誌檔或匯入簡單資料。本篇將帶你完整學習如何使用 C# 進行 文字檔(TXT)解析與資料讀取,包含常見的 File 讀取方式與 StreamReader 實作範例,幫助你快速掌握 .NET 中處理文字檔案的基本技
Thumbnail
2026/04/30
在進行資料處理或系統開發時,C# 讀取 TXT 檔案 是非常常見的需求,例如讀取設定檔、日誌檔或匯入簡單資料。本篇將帶你完整學習如何使用 C# 進行 文字檔(TXT)解析與資料讀取,包含常見的 File 讀取方式與 StreamReader 實作範例,幫助你快速掌握 .NET 中處理文字檔案的基本技
Thumbnail
2026/04/28
在使用 C# 發送 Email 時,最常見的需求之一就是透過 Gmail SMTP 寄信。不過許多開發者在設定 Gmail SMTP 時,常會遇到驗證失敗、無法連線或帳號被拒絕等問題。本篇將帶你完整了解如何使用 C# 搭配 Gmail SMTP 發送 Email,包含 Gmail SMTP 設定、.
Thumbnail
2026/04/28
在使用 C# 發送 Email 時,最常見的需求之一就是透過 Gmail SMTP 寄信。不過許多開發者在設定 Gmail SMTP 時,常會遇到驗證失敗、無法連線或帳號被拒絕等問題。本篇將帶你完整了解如何使用 C# 搭配 Gmail SMTP 發送 Email,包含 Gmail SMTP 設定、.
Thumbnail
2026/04/23
在學會使用 C# SMTP 發送 Email 之後,下一步就是看懂實際的程式碼運作方式。本篇將針對 C# 發送 Email 範例 進行完整解析,從 SMTP 設定、寄信流程,到每一段程式碼的作用,帶你一步一步理解 .NET 寄信的核心邏輯。透過這篇教學,你不只是會用,還能真正掌握 C# SMTP 寄
Thumbnail
2026/04/23
在學會使用 C# SMTP 發送 Email 之後,下一步就是看懂實際的程式碼運作方式。本篇將針對 C# 發送 Email 範例 進行完整解析,從 SMTP 設定、寄信流程,到每一段程式碼的作用,帶你一步一步理解 .NET 寄信的核心邏輯。透過這篇教學,你不只是會用,還能真正掌握 C# SMTP 寄
Thumbnail
看更多
你可能也想看
Thumbnail
5 月,方格創作島正式開島。這是一趟 28 天的創作旅程。活動期間,每週都會有新的任務地圖與陪跑計畫,從最簡單的帳號使用、沙龍建立,到帶著你從一句話、一張照片開始,一步一步找到屬於自己的創作節奏。不需要長篇大論,不需要完美的文筆,只需要帶上你今天的日常,就可以出發。征服創作島,抱回靈感與大獎!
Thumbnail
5 月,方格創作島正式開島。這是一趟 28 天的創作旅程。活動期間,每週都會有新的任務地圖與陪跑計畫,從最簡單的帳號使用、沙龍建立,到帶著你從一句話、一張照片開始,一步一步找到屬於自己的創作節奏。不需要長篇大論,不需要完美的文筆,只需要帶上你今天的日常,就可以出發。征服創作島,抱回靈感與大獎!
Thumbnail
到了畢業季, 相信你已經準備將在校所學發揮於職場上了! 腦中充滿期待,也夾雜著不安。履歷寫著熟悉 Java、Python、HTML,但實際上,當你第一次面對現實專案的時候,表情可能是: 「😱 這是什麼?這段程式碼誰看得懂?!」, 別擔心,真的不是你太菜,而是職場就是另一個世界。 B
Thumbnail
到了畢業季, 相信你已經準備將在校所學發揮於職場上了! 腦中充滿期待,也夾雜著不安。履歷寫著熟悉 Java、Python、HTML,但實際上,當你第一次面對現實專案的時候,表情可能是: 「😱 這是什麼?這段程式碼誰看得懂?!」, 別擔心,真的不是你太菜,而是職場就是另一個世界。 B
Thumbnail
見諸參與鄧伯宸口述,鄧湘庭於〈那個大霧的時代〉記述父親回憶,鄧伯宸因故遭受牽連,而案件核心的三人,在鄧伯宸記憶裡:「成立了成大共產黨,他們製作了五星徽章,印刷共產黨宣言——刻鋼板的——他們收集中共空飄的傳單,以及中國共產黨中央委員會有關文化大革命決議文的英文打字稿,另外還有手槍子彈十發。」
Thumbnail
見諸參與鄧伯宸口述,鄧湘庭於〈那個大霧的時代〉記述父親回憶,鄧伯宸因故遭受牽連,而案件核心的三人,在鄧伯宸記憶裡:「成立了成大共產黨,他們製作了五星徽章,印刷共產黨宣言——刻鋼板的——他們收集中共空飄的傳單,以及中國共產黨中央委員會有關文化大革命決議文的英文打字稿,另外還有手槍子彈十發。」
Thumbnail
學習如何使用Python編寫一個數字猜謎遊戲,從中學習隨機數生成、使用者輸入、條件判斷和迴圈等程式設計基礎概念。
Thumbnail
學習如何使用Python編寫一個數字猜謎遊戲,從中學習隨機數生成、使用者輸入、條件判斷和迴圈等程式設計基礎概念。
Thumbnail
六角學院 Vibe Coding課程 課後有感 第一章:AI及vibe coding,是工具 在程式學習的旅程中,我逐漸意識到一個核心觀念:AI與vibe coding,本質上都是工具。工具的存在,並不是為了取代人,而是為了放大人的能力。就像一把鋤頭,它不會自己耕田,但在農夫的手裡,它能讓耕作效
Thumbnail
六角學院 Vibe Coding課程 課後有感 第一章:AI及vibe coding,是工具 在程式學習的旅程中,我逐漸意識到一個核心觀念:AI與vibe coding,本質上都是工具。工具的存在,並不是為了取代人,而是為了放大人的能力。就像一把鋤頭,它不會自己耕田,但在農夫的手裡,它能讓耕作效
Thumbnail
當代名導基里爾.賽勒布倫尼科夫身兼電影、劇場與歌劇導演,其作品流動著強烈的反叛與詩意。在俄烏戰爭爆發後,他持續以創作回應專制體制的壓迫。《傳奇:帕拉贊諾夫的十段殘篇》致敬蘇聯電影大師帕拉贊諾夫。本文作者透過媒介本質的分析,解構賽勒布倫尼科夫如何利用影劇雙棲的特質,在荒謬世道中尋找藝術的「生存之道」。
Thumbnail
當代名導基里爾.賽勒布倫尼科夫身兼電影、劇場與歌劇導演,其作品流動著強烈的反叛與詩意。在俄烏戰爭爆發後,他持續以創作回應專制體制的壓迫。《傳奇:帕拉贊諾夫的十段殘篇》致敬蘇聯電影大師帕拉贊諾夫。本文作者透過媒介本質的分析,解構賽勒布倫尼科夫如何利用影劇雙棲的特質,在荒謬世道中尋找藝術的「生存之道」。
Thumbnail
在學習 Python 的初期,我們常常會從一些小小的專案開始練習。今天要帶你做的,就是其中一個經典的入門練習——簡單計算機。 這個練習的目標是:讓程式接收兩個數字和一個運算符(+、-、*、/),並回傳正確的計算結果。 可以在Visual Studio Code中執行 #!/usr/bin/
Thumbnail
在學習 Python 的初期,我們常常會從一些小小的專案開始練習。今天要帶你做的,就是其中一個經典的入門練習——簡單計算機。 這個練習的目標是:讓程式接收兩個數字和一個運算符(+、-、*、/),並回傳正確的計算結果。 可以在Visual Studio Code中執行 #!/usr/bin/
Thumbnail
當時間變少之後,看戲反而變得更加重要——這是在成為母親之後,我第一次誠實地面對這一件事:我沒有那麼多的晚上,可以任性地留給自己了。看戲不再只是「今天有沒有空」,而是牽動整個週末的結構,誰應該照顧孩子,我該在什麼時間回到家,隔天還有沒有精神帶小孩⋯⋯於是,我不得不學會一件以前並不擅長的事:挑選。
Thumbnail
當時間變少之後,看戲反而變得更加重要——這是在成為母親之後,我第一次誠實地面對這一件事:我沒有那麼多的晚上,可以任性地留給自己了。看戲不再只是「今天有沒有空」,而是牽動整個週末的結構,誰應該照顧孩子,我該在什麼時間回到家,隔天還有沒有精神帶小孩⋯⋯於是,我不得不學會一件以前並不擅長的事:挑選。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News