Dim files() As String = System.IO.Directory.GetFiles("c:\") dim i as Integer = 0 Do While i <= files.Length - 1 Dim filename() As String = files(i).Split("\") dim fileX as string=filename(filename.Length - 1)这是一个文件名的实例 i = i + 1 Loop
http://www.csdn.net/cnshare/soft/18/18142.shtm
同理:利用Dim directories() As String = System.IO.Directory.GetDirectories(("c:\") 可得到所有的目录。你可以稍微改变一下思路就可以实现你的需求。
public void BrowseDir(string s) { //浏览目录 DirectoryInfo dir =new DirectoryInfo(s); foreach(DirectoryInfo di in dir.GetDirectories()) //添加目录信息 { this.BrowseDir(di.FullName); //继续展开子目录
} foreach(FileInfo fi in dir.GetFiles()) { //添加文件信息 } }
下边这个类提供了一个遍历一个文件夹(指定路径)的方法,并在控制台输出所有文件名,希望能帮得到你。 Imports System.IO.Directory Public Class LoopViewEveryFileAndFolderInOneFolder Public Function GetAllFilesInOneFolder(ByVal sAddress As String) As String() Try Dim sFileName As String Dim arrFileNames() As String sFileName = Dir(sAddress & "\*.*") If sFileName <> "" Then ReDim arrFileNames(0) arrFileNames(0) = sFileName sFileName = Dir() Dim i As Integer = 0 Do While sFileName <> "" i = i + 1 ReDim Preserve arrFileNames(i) arrFileNames(i) = sFileName sFileName = Dir() Loop End If Return arrFileNames Catch ex As Exception Throw ex End Try End Function Public Function GetAllFoldersInOneFolder(ByVal sAddress As String) As String() Try Dim sFolderName As String Dim arrFolderNames() As String Dim arrSourceFolders As String() arrFolderNames = GetDirectories(sAddress) Return arrFolderNames Catch ex As Exception Throw ex End Try End Function Public Sub ViewEveryFileAndFolder(ByVal sAddress As String) Try Dim arrFiles() As String Dim arrFolders() As String If Exists(sAddress) Then arrFiles = Me.GetAllFilesInOneFolder(sAddress) If Not arrFiles Is Nothing Then For i As Integer = 0 To arrFiles.Length - 1 Console.WriteLine(sAddress & "\" & arrFiles(i).ToString()) Next End If arrFolders = Me.GetAllFoldersInOneFolder(sAddress) If Not arrFolders Is Nothing Then For j As Integer = 0 To arrFolders.Length - 1 ViewEveryFileAndFolder(arrFolders(j).ToString()) Next End If End If Catch ex As Exception Throw ex End Try End Sub End Class
<% @Import Namespace="System.IO" %>
<%
string StrDir = Server.MapPath("") + @"\Upload_Img"; StrDir = StrDir.Replace(@"\",@"\\");
string strDir2List = StrDir;
DirectoryInfo thisOne = null;
try
{
thisOne = new DirectoryInfo(strDir2List);
// 读目录的属性
Response.Write("当前目录:<b>");
Response.Write(StrDir);
Response.Write("</b>");
Response.Write("<p>Creation: " +
thisOne.CreationTime.ToString() + "</p>");
DirectoryInfo[] subDirectories = thisOne.GetDirectories();
Response.Write("<ul>");
for (int i=0; i < subDirectories.Length; i++)
{
Response.Write("<li><a href=\"listdir.aspx?dir=");
Response.Write(Server.UrlEncode(subDirectories[i].FullName));
Response.Write("\">" + subDirectories[i].Name);
Response.Write("</a><br/>");
}
Response.Write("</ul>"); FileInfo[] theFiles = thisOne.GetFiles();
Response.Write("<ul>");
for (int i=0; i < theFiles.Length; i++)
{
Response.Write("<li><a target=\"_blank\" href=\"Upload_Img/");
Response.Write(theFiles[i].Name);
Response.Write("\">" + theFiles[i].Name);
Response.Write("</a><br/>");
}
Response.Write("</ul>");
}
catch (Exception e)
{
Response.Write("不能浏览该目录, error: <i>");
Response.Write(e.ToString() + "</i>");
Response.End();
}
%>
dim i as Integer = 0
Do While i <= files.Length - 1
Dim filename() As String = files(i).Split("\")
dim fileX as string=filename(filename.Length - 1)这是一个文件名的实例
i = i + 1
Loop
可得到所有的目录。你可以稍微改变一下思路就可以实现你的需求。
{
//浏览目录 DirectoryInfo dir =new DirectoryInfo(s);
foreach(DirectoryInfo di in dir.GetDirectories()) //添加目录信息
{ this.BrowseDir(di.FullName); //继续展开子目录
}
foreach(FileInfo fi in dir.GetFiles())
{
//添加文件信息 }
}
Imports System.IO.Directory
Public Class LoopViewEveryFileAndFolderInOneFolder Public Function GetAllFilesInOneFolder(ByVal sAddress As String) As String()
Try
Dim sFileName As String
Dim arrFileNames() As String sFileName = Dir(sAddress & "\*.*") If sFileName <> "" Then
ReDim arrFileNames(0)
arrFileNames(0) = sFileName
sFileName = Dir() Dim i As Integer = 0
Do While sFileName <> ""
i = i + 1
ReDim Preserve arrFileNames(i)
arrFileNames(i) = sFileName sFileName = Dir()
Loop
End If Return arrFileNames Catch ex As Exception
Throw ex
End Try
End Function Public Function GetAllFoldersInOneFolder(ByVal sAddress As String) As String()
Try
Dim sFolderName As String
Dim arrFolderNames() As String Dim arrSourceFolders As String()
arrFolderNames = GetDirectories(sAddress) Return arrFolderNames Catch ex As Exception
Throw ex
End Try
End Function Public Sub ViewEveryFileAndFolder(ByVal sAddress As String)
Try
Dim arrFiles() As String
Dim arrFolders() As String If Exists(sAddress) Then
arrFiles = Me.GetAllFilesInOneFolder(sAddress)
If Not arrFiles Is Nothing Then
For i As Integer = 0 To arrFiles.Length - 1
Console.WriteLine(sAddress & "\" & arrFiles(i).ToString())
Next
End If arrFolders = Me.GetAllFoldersInOneFolder(sAddress)
If Not arrFolders Is Nothing Then
For j As Integer = 0 To arrFolders.Length - 1
ViewEveryFileAndFolder(arrFolders(j).ToString())
Next
End If
End If Catch ex As Exception
Throw ex
End Try
End Sub
End Class