由于業(yè)務(wù)需要最近寫了個(gè)小程序,拿來分享:
先說背景,我呼叫中心系統(tǒng)管理,每周會(huì)導(dǎo)出一批錄音文件給客戶質(zhì)檢。錄音是直接從服務(wù)器下載拷貝的,一批錄音有上千條,而且原始導(dǎo)出的錄音有點(diǎn) ‘二’無法讓人摸清來龍去脈。導(dǎo)出來是這樣
解壓后是這樣的,每個(gè)錄音有一個(gè)XML的解釋說明文件,文件名和錄音文件名一樣。這些文件名感覺上是用時(shí)間戳堆出來的。
XML的解釋說明文件里有callID,來電號(hào)碼,來電時(shí)間等N多信息??蛻粢髮⑺械匿浺粑募嚎s一個(gè)包,且文件名用來電號(hào)碼+時(shí)間命名,這樣方便查看。
背景需求完畢。
分析解決方案:首先tar是Linux下的壓縮包,需要解壓,而且是批量處理,然后讀取xml的文檔信息,將來電號(hào)碼和來電時(shí)間提取出來組成新的文件名,然后將原錄音文件重新命名,也是批量處理。
分析完畢。
一開始想用Python(最近在學(xué)習(xí)的,還不熟)解決,放棄;用C++也是二把刀,怕趕不上時(shí)間;最后還是用了C#做個(gè)簡(jiǎn)單的小程序吧,畢竟還是熟悉的快一些。
從網(wǎng)上下載了DLL文件‘SharpZipLib.dll’,這里面包含了zip,rar,tar等壓縮和解壓縮的很多東東,感謝提供這個(gè)東東的。
這里的代碼網(wǎng)上有很多,隨便搜搜可以看到~~~~
解讀XML文件的信息,C#的system.xml是很好的東東。
public static recordingInfo GetRecordingInfo(string xmlFileName)
{
recordingInfo rdInfo=new recordingInfo();
string content = string.Empty;
XmlDocument xmlDoc = new XmlDocument();
try
{
xmlDoc.Load(xmlFileName); //加載XML文檔
XmlNode node = xmlDoc.ChildNodes[1];
//來電時(shí)間
rdInfo.STime = node.Attributes["starttime"].Value.Substring(0, 19);
//錄音文件名
rdInfo.OldName = node.Attributes["filename"].Value;
//來電號(hào)碼
rdInfo.ANI = node.ChildNodes[0].ChildNodes[3].ChildNodes[7].InnerText;
}
catch (Exception ex)
{
throw ex; //這里可以定義你自己的異常處理
}
return rdInfo;
}
recordingInfo是我對(duì)錄音文件的一個(gè)類:
public class recordingInfo
{
public string OldName { get; set; }
public string ANI { get; set; }
public string STime { get; set; }
}
然后就是文件重名命后和刪除原文件了,先來刪除文件的,這個(gè)簡(jiǎn)單:
public bool DeleteFiles(string fileName)
{
if (File.Exists(fileName))
{
File.Delete(fileName);
return true;
}
return false;
}
文件重名命,第一次使用才知道C#的File類沒有rename這個(gè)方法,簡(jiǎn)直哭死人啦。網(wǎng)絡(luò)就是個(gè)神奇的東西,你不需要記住,只要會(huì)檢索,總會(huì)在某個(gè)地方有你需要的:引用這兩個(gè)
using Microsoft.VisualBasic;
using Microsoft.VisualBasic.Devices;
下面兩句話解決重命名,哈哈哈,你就笑吧,突然想你昨天看到的一句話,“程序員為什么喜歡寫代碼,因?yàn)槟鞘窃趧?chuàng)造一個(gè)生命,給他賦予程序智能~”
Computer MyComputer = new Computer();
MyComputer.FileSystem.RenameFile(FileName, newName);
幾個(gè)關(guān)鍵點(diǎn)都解決了,剩下的只需要組織代碼,將整個(gè)邏輯整理得當(dāng)就OK啦。
整體界面圖:
解壓后的文件是這樣的
完畢,測(cè)試幾遍可以使用。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
當(dāng)前標(biāo)題:C#技術(shù)積累(解壓tar文件,解析xml,重命名文件,刪除文件)-創(chuàng)新互聯(lián)
文章網(wǎng)址:http://chinadenli.net/article12/desjdc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)、外貿(mào)建站、定制開發(fā)、網(wǎng)站策劃、域名注冊(cè)、自適應(yīng)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容
移動(dòng)網(wǎng)站建設(shè)知識(shí)