在VB.net中,如何遍历指定路径下的文件夹并把文件夹名存储在数组中? VB.NET遍历查找某个文件夹,并找出指定文件

\u600e\u6837\u83b7\u53d6\u67d0\u4e2a\u6587\u4ef6\u5939\u5185\u6240\u6709\u56fe\u7247\u7684\u8def\u5f84\uff0c\u5e76\u4fdd\u5b58\u5728\u4e00\u4e2a\u6570\u7ec4\u91cc

\u7ed9\u4f60\u6bb5\u4ee3\u7801\uff0cpath\u5c31\u662f\u4f60\u8bf4\u7684\u67d0\u4e2a\u6587\u4ef6\u5939
//\u904d\u5386path\uff0c\u5c06\u6240\u6709\u53ef\u5904\u7406\u7684\u56fe\u7247\u6587\u4ef6\u653e\u5165\u6570\u7ec4
Vector imagePathArray=new Vector();
File dir = new File(path);
File file[] = dir.listFiles();
for (int i = 0; i < file.length; i++) {
if (file[i].isFile())
{
String icon=file[i].getAbsolutePath();
if (icon.endsWith(".png") || icon.endsWith(".PNG") ||//\u8fd9\u91cc\u4ec5\u4ec5\u52a0\u5165png\u548cjpg\u6587\u4ef6\u683c\u5f0f\uff0c\u9700\u8981\u5176\u4ed6\u683c\u5f0f\u5c31\u5728\u8fd9\u91cc\u589e\u52a0\u5224\u65ad
icon.endsWith(".jpg") || icon.endsWith(".jpg"))
imagePathArray.add(icon);
}
}

\u89e3\u538b\u5bc6\u7801\uff1a1299
\u5047\u8bbe\u8def\u5f84\u4e3aC:\abc
\u4ee3\u7801\uff1a
Public Class Form1 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load Dim Files As ObjectModel.ReadOnlyCollection(Of String) = My.Computer.FileSystem.GetFiles("C:\abc") Dim FileSize As Long, FileName As String = Nothing Dim oFileSize As Long For Each File As String In Files oFileSize = My.Computer.FileSystem.GetFileInfo(File).Length If oFileSize > FileSize Then FileSize = oFileSize FileName = File End If Next Dim ListN As ListViewItem = New ListViewItem(My.Computer.FileSystem.GetName(FileName)) ListN.SubItems.Add(oFileSize & " byte") ListN.SubItems.Add(My.Computer.FileSystem.GetFileInfo(FileName).Extension & " \u6587\u4ef6") ListN.SubItems.Add(FileName) ListView1.Items.Add(ListN) End SubEnd Class
\u8be6\u89c1\u6e90\u4ee3\u7801\uff01\uff01

给你一个提示吧!呵呵,剩下的要自己思考哦!

Path:是初始目录的路径

Private Sub WriteArray(ByVal Path As String)
'写入数组代码在这里,直接将Path写到数组就行了。
Dim dir As New IO.DirectoryInfo(Path)
For Each d As IO.DirectoryInfo In dir.GetDirectories
WriteArray(d.FullName) '递归
Next
End Sub

如果子目录较多那么递归会比较费时间,在调用递归前加入application.doevent就行了,这样在应对大递归时不会死机。
至于数组嘛使用 arraylist 最好了。

回答补充:
把递归去掉就行了啊!

  • 鍦╒B.net涓,濡備綍閬嶅巻鎸囧畾璺緞涓嬬殑鏂囦欢澶瑰苟鎶婃枃浠跺す鍚嶅瓨鍌ㄥ湪鏁扮粍涓?
    绛旓細Path锛氭槸鍒濆鐩綍鐨勮矾寰 Private Sub WriteArray(ByVal Path As String)'鍐欏叆鏁扮粍浠g爜鍦ㄨ繖閲岋紝鐩存帴灏哖ath鍐欏埌鏁扮粍灏辫浜嗐侱im dir As New IO.DirectoryInfo(Path)For Each d As IO.DirectoryInfo In dir.GetDirectories WriteArray(d.FullName) '閫掑綊 Next End Sub 濡傛灉瀛愮洰褰曡緝澶氶偅涔堥掑綊浼氭瘮杈冭垂鏃...
  • VB.net閬嶅巻鏌愪釜鏂囦欢澶,骞惰鍙栧瓙鐩綍涓殑鎸囧畾鏂囦欢
    绛旓細vb.net锛欴im path = System.IO.Directory.GetFiles("D:\Log\abc", "*.txt", SearchOption.AllDirectories)锛氭悳绱㈣璺緞涓嬬殑鎵鏈塼xt绫诲瀷鐨勭洰褰曞強瀛愮洰褰 path.AddRange(path)Dim _RecordInfo As String Dim _Reader As StreamReader _Reader = New StreamReader(file, System.Text.Encoding.Default)锛...
  • 鐢vb.net鎬庢牱瀹炵幇鍦ㄩ亶鍘鏌愪竴鏂囦欢澶逛笅鐨勬墍鏈夋枃浠
    绛旓細'鎶婁笅闈㈢殑鐩綍鏀规垚浣犺閬嶅巻鐨勭洰褰 Dim MyDir = "C:\Windows"Dim MyInfo = MyDir + "鐩綍涓嬬殑鎵鏈夋枃浠跺寘鎷細"For Each MyFile In System.IO.Directory.GetFiles(MyDir)MyInfo += Environment.NewLine + MyFile Next Me.RichTextBox1.Text =MyInfo ...
  • C#鎴VB.NET濡備綍閬嶅巻绋嬪簭涓煇涓被(class)?
    绛旓細Assembly assembly = typeof("褰撳墠绋嬪簭闆嗗悕绉").Assembly;//鎴朅ssembly assembly = Assembly.GetExecutingAssembly();//褰撳墠绋嬪簭闆唂oreach (Type type in assembly.GetTypes()){ Console.WriteLine(type.FullName); //if(type.FullName.EndsWith(Student)) Console.WriteLine("found");} ...
  • vb.net濡備綍閬嶅巻鏁翠釜鏂囦欢澶,鍚庢壘鍑烘煇涓涓枃浠?
    绛旓細浠g爜锛歅ublic Class Form1 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load Dim Files As ObjectModel.ReadOnlyCollection(Of String) = My.Computer.FileSystem.GetFiles("C:\abc") Dim FileSize As Long, FileName As String = Nothing Dim oFileSi...
  • vb.net 閬嶅巻treeview鏌ユ壘a(0)鍦ㄧ粨鐐规垨瀛愯妭鐐圭殑.text灞炴ф槸鍚﹂噸澶嶅瓨鍦...
    绛旓細Public Class Form1 Dim a() As String = {"鑺傜偣1", "a(1)鑺傜偣"} Dim mnodes As New ArrayList Dim cnodes As TreeNode Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click get_n(TreeView1.Nodes)For Each ntxt As Tree...
  • vb.net涓浣曢亶鍘绋嬪簭绐椾綋涓殑鎺т欢?骞惰鍐欐帶浠剁殑鏁版嵁銆
    绛旓細End If If InContainer.Controls.Item(i).Controls.Count <> 0 Then GetAllControls(InContainer.Controls.Item(i), GetList) End If Next End Sub杩欐浠g爜鍙锛屼絾涓嶈兘閬嶅巻鑿滃崟鍜屽伐鍏锋爮锛岃鎸夐渶瑕佷慨鏀
  • vb.net panel閲岀殑鎺т欢濡備綍閬嶅巻
    绛旓細ComboBox) Then Dim cb As System.Windows.Forms.ComboBox = DirectCast(ct, System.Windows.Forms.ComboBox) cb.SelectedIndex = -1 End If NextEnd Sub鍥犱负textbox鍦ㄧ獥浣撻噷鐨刾anel閲岋紝浣犲彧閬嶅巻绐椾綋鐨勬帶浠舵槸涓嶅鐨勩
  • vb.net鎬庝箞閬嶅巻鎵鏈夋帶浠,浣緾lick閮芥墽琛岀浉鍚岀殑杩囩▼
    绛旓細浣犵湅鐪嬫湁娌℃湁甯姪 ,杩欐槸閬嶅巻鎵鏈夋帶浠,杩樻湁涓涓姙娉曞氨鏄噸杞絝orm鐨勬秷鎭鐞嗗嚱鏁板簲璇ヤ篃鏄彲浠ョ殑銆<STAThread> _Public Shared Sub Main(args As String())Dim button = New Button()button.Text = "鎴戞槸鎸夐挳"button.Dock = DockStyle.FillDim form = New Form()form.Controls.Add(button)Captureh...
  • VB.NET 閬嶅巻鏂囦欢澶閲鎵鏈夌殑txt骞舵斁鍦ㄤ竴涓枃浠跺す閲
    绛旓細Private Sub GetChilren(ByVal Subject As String)For Each i As String In My.Computer.FileSystem.GetDirectories(Subject)GetChilren锛坕锛'鍦ㄨ繖閲岄掑綊 Next For Each i As String In My.Computer.FileSystem.GetFiles(Subject)'''txt锛岀敤鍏ㄥ眬鍙橀噺鎴栧弬鏁扮被鏁扮粍銆佹硾鍨嬨佹帶浠朵繚瀛樻瘡涓猧 Next End Sub ...
  • 扩展阅读:vba如何遍历控件 ... 在vb中不能关闭的窗口是 ... .net core使用vb ... vb net 支持 ... python如何遍历列表并提取 ... vb.net教程 ... vbnet是什么 ... js如何遍历对象 ... vb和net的关系 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网