vb.net获取扩展名 vb源代码扩展名

vb.net,知道一个文件的扩展名,如何通过这个扩展名获得该文件的默认打开方式(即默认打开程序)?

如没有现存的办法的话只能读取注册表,以txt文件为类:

创新互联公司专业为企业提供仙桃网站建设、仙桃做网站、仙桃网站设计、仙桃网站制作等企业网站建设、网页设计与制作、仙桃企业网站模板建站服务,10余年仙桃做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

HKEY_CLASSES_ROOT\.txt   '在这个地址有个默认属性值是:txtfile

HKEY_CLASSES_ROOT\txtfile\shell\open\command   '这里的默认属性值txtfile的关联程序:%SystemRoot%\system32\NOTEPAD.EXE %1

我暂不了解vb.net读注册表函数(刚在学),以vbs为类:

Dim WshShell

Set WshShell = WScript.CreateObject("Wscript.Shell")

Dim Ext

ext= WshShell.RegRead ("HKEY_CLASSES_ROOT\.mp3\") '这里的扩展名.mp3可以改成其它的看看

MsgBox WshShell.RegRead ("HKEY_CLASSES_ROOT\"  ext  "\shell\open\command\")

vb.net怎么实现点击下载,获取文件路径并下载

下载,直接通过url读取文件,然后Response.OutputStream.Write()数据

下面提供个下载的静态方法,是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);

//文件传送的剩余字节数:初始值为文件的总大小                

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];//存放欲发送数据的缓冲区                

int ByteToRead; //每次实际读取的字节数               

while (Length  0)

{    

//剩余字节数不为零,继续传送                    

if (HttpContext.Current.Response.IsClientConnected)

{    

//客户端浏览器还打开着,继续传送                        

ByteToRead = Reader.Read(Buffer, 0, 10000);                   //往缓冲区读入数据                        

HttpContext.Current.Response.OutputStream.Write(Buffer, 0, ByteToRead);    

//把缓冲区的数据写入客户端浏览器                        

HttpContext.Current.Response.Flush(); //立即写入客户端                        

Length -= ByteToRead;//剩余字节数减少                            }

else

{                         

//客户端浏览器已经断开,阻止继续循环                        

Length = -1;

}

}                //关闭该文件               

Reader.Close();

}

QQ:121一九五五121

vb.net中使用OpenFileDialog获取路径,如何检测扩展名符合规则?

这个恐怕有点难度,比如用户输入text.txt,你可能认为text.txt不允许输,但是说不定用户有文件名字命名为text.txt.exe的可执行文件存在,所以要过滤扩展名靠判断.号意义不大

vb.net从文件路径中获取文件名

获取方法,参考实例如下:

'获取路径名各部分: 如: c:\dir1001\aaa.txt

'获取路径路径 c:\dir1001\

Public Function GetFileName(FilePathFileName As String) As String '获取文件名 aaa.txt

On Error Resume Next

Dim i As Integer, J As Integer

i Len(FilePathFileName)

J InStrRev(FilePathFileName, "\")

GetFileName Mid(FilePathFileName, J + 1, i)

End Function

''获取路径路径 c:\dir1001\

Public Function GetFilePath(FilePathFileName As String) As String '获取路径路径 c:\dir1001\

On Error Resume Next

Dim J As Integer

J InStrRev(FilePathFileName, "\")

GetFilePath Mid(FilePathFileName, 1, J)

End Function

'获取文件名但不包括扩展名 aaa

Public Function GetFileNameNoExt(FilePathFileName As String) As String '获取文件名但不包括扩展名 aaa

On Error Resume Next

Dim i As Integer, J As Integer, k As Integer

i Len(FilePathFileName)

J InStrRev(FilePathFileName, "\")

k InStrRev(FilePathFileName, ".")

If k 0 Then

GetFileNameNoExt Mid(FilePathFileName, J + 1, i - J)

Else

GetFileNameNoExt Mid(FilePathFileName, J + 1, k - J - 1)

End If

End Function

'===== '获取扩展名 .txt

Public Function GetFileExtName(FilePathFileName As String) As String '获取扩展名 .txt

On Error Resume Next

Dim i As Integer, J As Integer

i Len(FilePathFileName)

J InStrRev(FilePathFileName, ".")

If J 0 Then

GetFileExtName ".txt"

Else

GetFileExtName Mid(FilePathFileName, J, i)

End If

End Function


分享文章:vb.net获取扩展名 vb源代码扩展名
文章URL:http://cdiso.cn/article/hepdde.html

其他资讯