給你一個遍歷所有盤符下的文件夾的例子加一個遍歷文件的就可以了。TreeNode node = new TreeNode("我的電腦"); treeView.Nodes.Add(node); //加入一個我的電腦節(jié)點 string[] drivesName = System.IO.Directory.GetLogicalDrives() //取得驅(qū)動器列表的集合 foreach(string name in drivesName) //用foreach遍歷集合 { TreeNode drivesNode = new TreeNode(name); node.Nodes.Add(drivesNode); //加到我的電腦節(jié)點下 }
創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),神木企業(yè)網(wǎng)站建設(shè),神木品牌網(wǎng)站建設(shè),網(wǎng)站定制,神木網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,神木網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。
首先,是這樣的,你要是只是想實現(xiàn)類似迅雷下載列表的功能,還是可以的,但是,要是在展現(xiàn)也就是說界面上的樣子,也和迅雷的一樣,那你就要自己重繪窗體還要結(jié)合美工技術(shù)才能做出來。
如果只是實現(xiàn)功能,可以看一下的講解:
進(jìn)度條的問題:如果只是一個進(jìn)度條,那就不用多線程技術(shù),因為只控制一個進(jìn)度而已,如果向迅雷那樣,實時的顯示多個進(jìn)度,那就要多個線程了,一個線程控制一個進(jìn)度。
記錄文檔用何種方式:這個其實很簡單,如果,你要是有數(shù)據(jù)庫,那就最好存在數(shù)據(jù)庫中,方便存儲管理,網(wǎng)絡(luò)數(shù)據(jù)庫的話,有很多中,比如Mysql,oracle,本地數(shù)據(jù)有sqlite,access等,要是采用文件存儲的話,可以用ini文件,xml文件或是簡單點直接文本文件也是可以的。
下載完的記錄加載到已完成列表,沒下載完的記錄自動加載到下載列表
其實這個也不難的,在控制進(jìn)度的條的方法中,增加一if判斷,如果能100%就將信息加載到完成列表,在判斷中計數(shù)如果多次判斷都沒有進(jìn)度,就認(rèn)為文件現(xiàn)在失敗,就在現(xiàn)在信息添加到未完成列表。
以上只是分析實現(xiàn)過程,實例的話,那會很多,也很復(fù)雜,以上內(nèi)同純手打,如果您覺得滿意,請采納我的回答,也不枉費我這么認(rèn)真分析,多謝了。
下載,直接通過url讀取文件,然后Response.OutputStream.Write()數(shù)據(jù)
下面提供個下載的靜態(tài)方法,是C#的,供參考:
///?summary
///?下載文件
///?/summary
///?param?name="fileName"下載的文件名稱(包括擴展名)/param
///?param?name="filePath"下載文件的絕對路徑/param
public?static?void?DownFile(string?fileName,?string?filePath)
{
//打開要下載的文件,并把該文件存放在FileStream中????????????????
System.IO.FileStream?Reader?=?System.IO.File.OpenRead(filePath);
//文件傳送的剩余字節(jié)數(shù):初始值為文件的總大小????????????????
long?Length?=?Reader.Length;
HttpContext.Current.Response.Buffer?=?false;
HttpContext.Current.Response.AddHeader("Connection",?"Keep-Alive");
HttpContext.Current.Response.ContentType?=?"application/octet-stream";
HttpContext.Current.Response.Charset?=?"utf-8";
HttpContext.Current.Response.AddHeader("Content-Disposition",?"attachment;?filename="?+?System.Web.HttpUtility.UrlEncode(fileName));
HttpContext.Current.Response.AddHeader("Content-Length",?Length.ToString());
byte[]?Buffer?=?new?Byte[10000];//存放欲發(fā)送數(shù)據(jù)的緩沖區(qū)????????????????
int?ByteToRead;?//每次實際讀取的字節(jié)數(shù)???????????????
while?(Length??0)
{????
//剩余字節(jié)數(shù)不為零,繼續(xù)傳送????????????????????
if?(HttpContext.Current.Response.IsClientConnected)
{????
//客戶端瀏覽器還打開著,繼續(xù)傳送????????????????????????
ByteToRead?=?Reader.Read(Buffer,?0,?10000);???????????????????//往緩沖區(qū)讀入數(shù)據(jù)????????????????????????
HttpContext.Current.Response.OutputStream.Write(Buffer,?0,?ByteToRead);????
//把緩沖區(qū)的數(shù)據(jù)寫入客戶端瀏覽器????????????????????????
HttpContext.Current.Response.Flush();?//立即寫入客戶端????????????????????????
Length?-=?ByteToRead;//剩余字節(jié)數(shù)減少????????????????????????????}
else
{?????????????????????????
//客戶端瀏覽器已經(jīng)斷開,阻止繼續(xù)循環(huán)????????????????????????
Length?=?-1;
}
}????????????????//關(guān)閉該文件???????????????
Reader.Close();
}
QQ:121一九五五121
Dim strPath As String = Server.MapPath("xxx/xxx.xxx") '這里是你的文件路徑以及名稱后綴名,使用相對路徑即可,不過記得路徑最好是英文,用中文是否連接不到我就不知道了,記得是"/"哦! Page.Response.Clear() Page.Response.AddHeader("Content-Type", "text/xml") Page.Response.AddHeader("Content-Disposition", "attachment;filename=") Page.Response.WriteFile(strPath) Page.Response.End() 路徑的話你可以使用變量的 所以這樣一來需要下載的文件就會相當(dāng)靈活 順便附送一個刪除文件的方法 System.IO.File.Delete(Server.MapPath("xxx/xxx.xxx")) 不過刪除文件跟寫文件是一樣的 需要WEB服務(wù)器開啟可寫功能!、 好用的話記得給分哦 嘿嘿!
下載文件的話你要到這個名稱空間找都這個函數(shù)
System.Net.WebClient.DownloadData(ByVal
String)
As
Byte(
)
--下載資源
DownloadData:
Public
Function
DownloadData(ByVal
address
As
String)
As
Byte(
)
System.Net.WebClient
的成員
摘要:
以
System.Byte
數(shù)組形式通過指定的
URI
下載資源。
參數(shù):
address:
從中下載數(shù)據(jù)的
URI。
返回值:
一個
System.Byte
數(shù)組,其中包含下載的資源。
異常:
System.Net.WebException:
通過組合
System.Net.WebClient.BaseAddress
和
address
所構(gòu)成的
URI
無效。-
或
-
下載數(shù)據(jù)時發(fā)生錯誤。
System.NotSupportedException:
該方法已在多個線程上同時調(diào)用。
System.Net.WebClient.DownloadFile(ByVal
String,
ByVal
String)
--下載文件
DownloadFile:
Public
Sub
DownloadFile(ByVal
address
As
String,
ByVal
fileName
As
String)
System.Net.WebClient
的成員
摘要:
將具有指定
URI
的資源下載到本地文件。
參數(shù):
address:
從中下載數(shù)據(jù)的
URI。
fileName:
要接收數(shù)據(jù)的本地文件的名稱。
異常:
System.Net.WebException:
通過組合
System.Net.WebClient.BaseAddress
和
address
所構(gòu)成的
URI
無效。-
或
-
filename
為
null
或
System.String.Empty。-
或
-文件不存在。-
或
-
下載數(shù)據(jù)時發(fā)生錯誤。
System.NotSupportedException:
該方法已在多個線程上同時調(diào)用。
分享標(biāo)題:vb.net迅雷下載文件,VBNET下載
文章轉(zhuǎn)載:http://chinadenli.net/article2/hedpic.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、小程序開發(fā)、虛擬主機、營銷型網(wǎng)站建設(shè)、移動網(wǎng)站建設(shè)、響應(yīng)式網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)