檔案操作及4種序列化 介紹
1 資料夾/檔案 檢查、新增、複製、移動、刪除,遞迴程式設計技巧
2 檔案讀寫,記錄文字日誌,讀取配置檔案
3 三種序列化器,xml和json
1.二進位制序列化:不支援跨平台,序列化生成檔案體積小;
2.soapserialize序列化:跨平台,序列化生成檔案體積大;
3.xml序列化:支援快平台,體積適中,容易閱讀
4.json序列化:支援快平台,體積小,容易閱讀;jsonconvert.serializeobject(obj);
序列化,反序列化:不同應用間傳遞資料;
序列化:物件list到文字字串的過程
反序列化:字串到物件list的過程;
system.runtime.serilization.formatters.binary
driveinfo
directory
directoryinfo
file
fileinfo
filestream
streamwriter
無法預估深度的,由重複的動作,用遞迴,自己呼叫自己
遞迴找出所有資料夾下面的資料夾
///
/// 完成 資料夾--子目錄--放入集合
///
///
///
///
private static listgetchild(listdirectorylist, directoryinfo directorycurrent)
}return directorylist;
}directoryinfo directory = new directoryinfo(logpath);//不存在不報錯 注意exists屬性
console.writeline(string.format(" ", directory.fullname, directory.creationtime, directory.lastwritetime));
if (!file.exists(path.combine(logpath, "info.txt")))
fileinfo fileinfo = new fileinfo(path.combine(logpath, "info.txt"));
console.writeline(string.format(" ", fileinfo.fullname, fileinfo.creationtime, fileinfo.lastwritetime));}}
using (filestream filestream = file.create(filename))//開啟檔案流 (建立檔案並寫入)
foreach (string result in file.readalllines(filename))
string sresult = file.readalltext(filename);
byte bytecontent = file.readallbytes(filename);
string sresultbyte = system.text.encoding.utf8.getstring(bytecontent);
using (filestream stream = file.openread(filename))//分批讀取
}while (length == result);
}file.copy(filename, filenamecopy);
file.move(filename, filenamemove);
file.delete(filenamecopy);
file.delete(filenamemove);//盡量不要delete}}
卷標: 名稱: 總空間: 剩餘空間:", drive.drivetype, drive.volumelabel, drive.name, drive.totalsize, drive.totalfreespace);
else
console.writeline("型別: is not ready", drive.drivetype);}}
----------log-------------
public static void log(string msg)
{streamwriter sw = null;
try{
string filename = "log.txt";
string totalpath = path.combine(logpath, filename);
C xml檔案操作 序列化
給乙個c 程式新增乙個xml檔案,右擊專案新增,選擇xml檔案 這樣建立的xml檔案不能建立到debug資料夾下面 需要在xml屬性中設定 複製到輸出目錄 始終複製 xml 內容所有的關鍵字根據要求來設定,在獲取的時必須與建立時一致 xml version 1.0 encoding utf 8 張大...
文件操作及序列化知識摘記
在計算機程式設計中,讓物件資料永續性的過程就稱之為序列化或序列化。而利用carchive類可進行序列化操作。1.carchive 物件提供了乙個型別安全緩衝機制,用於將可序列化物件寫入 cfile 物件或從中讀取可序列化物件。通常,cfile 物件表示磁碟檔案 但是,它也可以是表示 剪貼簿 的記憶體...
用讀寫操作複製檔案,csv ,序列化和反序列化
用讀寫操作複製檔案 r 只能讀 w 只能寫 覆蓋整個檔案 不存在則建立 a 只能寫 從檔案底部新增內容 不存在則建立 rb 以二進位制讀方式開啟,只能讀檔案 如果檔案不存 在,會發生異常 wb 以二進位制寫方式開啟,只能寫檔案,如果檔案不存 在,建立該檔案 如果檔案已存在,先清空,再開啟檔案 fil...