在VB 學習中,絕對路徑就是指帶有盤符的固定的路徑,比如“c:\windows\systems\a.exe” 而相對路徑則可用APP.PATH連接文件名來表示,比如:App.Path "\a.exe"

創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供圖們網(wǎng)站建設(shè)、圖們做網(wǎng)站、圖們網(wǎng)站設(shè)計、圖們網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、圖們企業(yè)網(wǎng)站模板建站服務(wù),十年圖們做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
以vb學習中加載圖片為例,這樣就容易弄明白了。假設(shè)我們要在vb中加載一幅圖片,假設(shè)我們把這個加載圖片的程序保存在如下位置:"E:\aa-vbnew\加載圖片講解"而我們的圖片在"D:\My Files\圖畫\tong.jpg"
那么情況如下:1,在代碼中直接以絕對路徑表示加載到form1中,如圖所示:
顯示結(jié)果如下:
2,換一種方式,以相對路徑直接加載也可以。程序如圖:
結(jié)果如上圖。
下面分析如下:
第一種方式,我們使用的是圖片的完整路徑,就稱之為絕對路徑,也就是說不管我們的這個VB程序放到硬盤的任何位置,都完全可以顯示出來這幅圖片,因為圖片的路徑是絕對的,只要不改變圖片的路徑,那么就是絕對不變的。
第二種方式,我們使用的是圖片的相對路徑,相對于誰呢?是相對于我們的VB這個應(yīng)用程序和這幅圖片自身位置的。一旦我們的程序位置發(fā)生變化或者圖片的位置發(fā)生改變,那么這個程序都不可以執(zhí)行,不會顯示這幅圖片。所以說這就是相對路徑,是以一個參考對象而存在的。
Dim my_path() As String = System.IO.Directory.GetFiles("d:\", "文件名", IO.SearchOption.AllDirectories)
因為有可能在多個地方,所以進行了全盤搜索,歌曲的所有地址路徑在數(shù)組my_path中
下載,直接通過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
System.Environment.CurrentDirectory
這才是vb.net的獲取程序運行路徑的方法
網(wǎng)頁標題:vb.net獲取文件路徑,net 獲取文件的路徑
URL網(wǎng)址:http://chinadenli.net/article9/dsicsoh.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、網(wǎng)頁設(shè)計公司、定制網(wǎng)站、品牌網(wǎng)站制作、域名注冊、電子商務(wù)
聲明:本網(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)