檔案的使用

更新 發佈閱讀 7 分鐘

有時Google老半天,只是想找個檔案讀取或寫入,或是用個Button開啟資料夾或相關檔案位置。

可能你程式也寫過,但臨時要找又一時找不到,我想介紹這樣的基本使用方式。

讓你和健忘的我省點心,馬上複製貼上小改一下就上陣。

寫入檔案(累加)

private void WrtCsv(string filename, string rowData)
{
try
{
FileInfo fileInfo = new FileInfo(filename);
// 串流寫入物件(檔案如果存在,就每次累加)
StreamWriter stWrt = fileInfo.AppendText();
stWrt.WriteLine(rowData);
stWrt.Flush();
stWrt.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}

寫入檔案(新建)

private void WrtCsv(string filename, string rowData)
{
try
{
FileInfo fileInfo = new FileInfo(filename);
// 串流寫入物件(不管原檔案是否已有內容,整個重建)
StreamWriter stWrt = fileInfo.CreateText();
stWrt.WriteLine(rowData);
stWrt.Flush();
stWrt.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}

讀取檔案(取正規表示式做應用)

private string readfile(string filepath)
{
string resultStr = "";
StreamReader sr = new StreamReader(filepath);
string line = "";
while ((line = sr.ReadLine()) != null)
{
resultStr += line; // 檔案中的每一行

// 找出檔案每行中的符合特定資訊的字串
if (Regex.IsMatch(line, @"^\*")) // 正規表示式自由應用
{
// do something ...
}
}
sr.Close();
return resultStr;
}

讀取CSV檔案(存Datatable)

private DataTable GetData(string fileNamePath)
{
StreamReader sr = new StreamReader(fileNamePath);
DataTable dt = new DataTable();
string line;

dt.Columns.Add("column1"); //0
dt.Columns.Add("column2"); //1
dt.Columns.Add("column3"); //2
dt.Columns.Add("column4"); //3
while ((line = sr.ReadLine()) != null)
{
string[] linesPara = line.Split(",".ToArray()); // 假設csv檔案使用 , 分隔
DataRow row = dt.NewRow();
row["column1"] = linesPara[0];
row["column2"] = linesPara[1];
row["column3"] = linesPara[2];
row["column4"] = linesPara[3];
dt.Rows.Add(row);
}
sr.Close();
return dt;
}

按下按鈕開啟對話框選檔案 (開檔案使用)

private void BtnRead_Click(object sender, EventArgs e)
{
OpenFileDialog dlg = new OpenFileDialog();
dlg.Multiselect = true; // true 代表可以多選 false 代表單選
dlg.DefaultExt = ".csv"; // 依需要去篩選副檔名
dlg.Filter = "csv|*.csv";
//dlg.Filter = "AllFile|*.*"; // 如果要改*.* 用這個
if (dlg.ShowDialog() != DialogResult.OK)
return; // 如果提前改變心意不選了離開就什麼都不做

string filenameFullPath = dlg.FileName; // 讀檔案絕對路徑
// 依需求讀入檔案
// doSomthing
}

按下按鈕開啟對話框選檔案 (存檔案使用)

private void BtnSave_Click(object sender, EventArgs e)
{
SaveFileDialog saveFileDialog = new SaveFileDialog();
saveFileDialog.DefaultExt = ".csv"; // 規則參考上面
saveFileDialog.Filter = "CSV|*.csv"; // 規則參考上面

if (saveFileDialog.ShowDialog() != DialogResult.OK)
return;
string filenameFullPath = saveFileDialog.FileName; // 存檔案絕對路徑
// 依需求寫入檔案
// doSomthing
}


像這樣的積木一樣搭配組合,可以方便使用為你的程式起個頭。





留言
avatar-img
寫程式也寫字的卡密優
21會員
358內容數
嗨,我是卡密優,一個寫程式也喜歡寫字的工程師。 我目前仍在職場中,但正在思考:有沒有可能用寫作與創作,打造更自由的工作與生活方式? 這裡是我的紀錄日記,也是一場關於技術、寫作、生活設計的實驗。歡迎你加入,一起慢慢長出屬於我們的自由樣貌。
你可能也想看
Thumbnail
在 vocus 與你一起探索內容、發掘靈感的路上,我們又將啟動新的冒險——vocus App 正式推出! 現在起,你可以在 iOS App Store 下載全新上架的 vocus App。 無論是在通勤路上、日常空檔,或一天結束後的放鬆時刻,都能自在沈浸在內容宇宙中。
Thumbnail
在 vocus 與你一起探索內容、發掘靈感的路上,我們又將啟動新的冒險——vocus App 正式推出! 現在起,你可以在 iOS App Store 下載全新上架的 vocus App。 無論是在通勤路上、日常空檔,或一天結束後的放鬆時刻,都能自在沈浸在內容宇宙中。
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
Thumbnail
目前主流的瀏覽器在下載檔案時,預設都會存放在系統的下載資料夾中,如果長期使用下來沒有特別去整理,會造成資料夾過於雜亂,在找尋檔案也會花費很多時間,即便可以下載之前選擇存放位置,但每次都要確認,難免會顯得過於繁瑣..........
Thumbnail
目前主流的瀏覽器在下載檔案時,預設都會存放在系統的下載資料夾中,如果長期使用下來沒有特別去整理,會造成資料夾過於雜亂,在找尋檔案也會花費很多時間,即便可以下載之前選擇存放位置,但每次都要確認,難免會顯得過於繁瑣..........
Thumbnail
在工作中應該很多人都有這樣的經驗,明明前陣子才辛辛苦苦整理好的資料,當需要用時卻怎麼找也找不到,最後花了大半天時間在翻找檔案,甚至有時候還得重新整理一次。這種情況不但會讓人處於著急慌亂的狀態,也浪費了寶貴的時間,形成無效工時。
Thumbnail
在工作中應該很多人都有這樣的經驗,明明前陣子才辛辛苦苦整理好的資料,當需要用時卻怎麼找也找不到,最後花了大半天時間在翻找檔案,甚至有時候還得重新整理一次。這種情況不但會讓人處於著急慌亂的狀態,也浪費了寶貴的時間,形成無效工時。
Thumbnail
工作上固定頻率會收到User提供的設定需求資訊,檔案大多為excel的格式.xlsx或.xls,需要擷取內容的參數資訊,轉換撰寫sql語法寫入資料庫進行操作。 既然格式都是固定的,何不動手寫個小工具,一鍵完成轉換呢?
Thumbnail
工作上固定頻率會收到User提供的設定需求資訊,檔案大多為excel的格式.xlsx或.xls,需要擷取內容的參數資訊,轉換撰寫sql語法寫入資料庫進行操作。 既然格式都是固定的,何不動手寫個小工具,一鍵完成轉換呢?
Thumbnail
看到任何的新事物時,心裡所升起的感觸或想法,其實會藏在心底或腦海裡,平常時因為用不到,所以就被放到大腦的抽屜,而且藏得很深。但如果在寫文章,需要它的時候,那個抽屜就會打開,想法就會浮出……
Thumbnail
看到任何的新事物時,心裡所升起的感觸或想法,其實會藏在心底或腦海裡,平常時因為用不到,所以就被放到大腦的抽屜,而且藏得很深。但如果在寫文章,需要它的時候,那個抽屜就會打開,想法就會浮出……
Thumbnail
工具功能 (1) 彈性任意查詢檔案,如對來源目錄設定,檔案修改日期 設定,檔名特定字串或副檔名設定後,自動查出明細,並可展開至各階子目錄處理     (2) 依查詢後結果,可產出 LIST ,提供查詢結果之確認,再依此對檔案作複 (3) 可對檔案作移動,複製至別處,刪除處理,使電腦可騰出硬碟空間
Thumbnail
工具功能 (1) 彈性任意查詢檔案,如對來源目錄設定,檔案修改日期 設定,檔名特定字串或副檔名設定後,自動查出明細,並可展開至各階子目錄處理     (2) 依查詢後結果,可產出 LIST ,提供查詢結果之確認,再依此對檔案作複 (3) 可對檔案作移動,複製至別處,刪除處理,使電腦可騰出硬碟空間
Thumbnail
電子檔案打不開??? 為什麼打不開??? 要對應哪一個程式? 要先學會檔案掃毒 然後分辨是....程式執行檔還是文件檔 碰到不常用的檔案格式,不要立馬發文為什麼打不開 你可以先搜尋副檔名“關鍵字“或是到這個平台查詢...... 不要擔心“全英文”介面的網站,沒那麼困難 https:/
Thumbnail
電子檔案打不開??? 為什麼打不開??? 要對應哪一個程式? 要先學會檔案掃毒 然後分辨是....程式執行檔還是文件檔 碰到不常用的檔案格式,不要立馬發文為什麼打不開 你可以先搜尋副檔名“關鍵字“或是到這個平台查詢...... 不要擔心“全英文”介面的網站,沒那麼困難 https:/
Thumbnail
從電腦桌面、檔案的管理,就可觀察出人的工作能力。 有些桌面是滿滿滿的Word、Excel、PPT、資料夾、程式...,還有檔名不同但內容相同、檔名相同但進度不同、多胞胎檔案散布各處....。 光要找到對的資料,就先耗費心神,大大影響工作效率。終於找到檔案可以開始作業,但戰鬥力被消磨掉不知道剩幾%了。
Thumbnail
從電腦桌面、檔案的管理,就可觀察出人的工作能力。 有些桌面是滿滿滿的Word、Excel、PPT、資料夾、程式...,還有檔名不同但內容相同、檔名相同但進度不同、多胞胎檔案散布各處....。 光要找到對的資料,就先耗費心神,大大影響工作效率。終於找到檔案可以開始作業,但戰鬥力被消磨掉不知道剩幾%了。
Thumbnail
Google 表單,用法超多元,事半功倍必學好工具!
Thumbnail
Google 表單,用法超多元,事半功倍必學好工具!
Thumbnail
把各式各樣的靈感記在手機裡,從隻字片語到照片都有。可是什麼都存下來的結果,才發現儲存空間快滿了,要找的檔案找不到、手機運轉的速度變得比烏龜還慢? 該怎麼做才好?
Thumbnail
把各式各樣的靈感記在手機裡,從隻字片語到照片都有。可是什麼都存下來的結果,才發現儲存空間快滿了,要找的檔案找不到、手機運轉的速度變得比烏龜還慢? 該怎麼做才好?
Thumbnail
如果有心想記錄、想寫作、想出版,真的不要在所有的發表平台直接寫文,養成良好把文字以檔案格式存下來。我想這是「寫作/創作」的基本功,養成習慣後自己也會對自己產出的文字、作品有一定的使命感。
Thumbnail
如果有心想記錄、想寫作、想出版,真的不要在所有的發表平台直接寫文,養成良好把文字以檔案格式存下來。我想這是「寫作/創作」的基本功,養成習慣後自己也會對自己產出的文字、作品有一定的使命感。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News