大 檔案操作 及 4種序列化 介紹

2022-03-25 08:48:19 字數 2252 閱讀 9583

檔案操作及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...