Vb.net 目录中的文件计数不起作用

Vb.net 目录中的文件计数不起作用,vb.net,Vb.net,我试图计算一个目录中的文件数,并隐藏与按钮总数相对应的按钮数以除去目录中的文件数。此时代码似乎没有超过创建目录的行,没有错误,但文本不会更新,按钮也不会隐藏 选项显式打开 导入System.IO 导入System.Net.Sockets 公开课表格2 将用户名设置为字符串 Dim FriendsArray()作为字符串 私有子表单2_Load(ByVal发送方作为System.Object,ByVal e作为System.EventArgs)处理MyBase.Load 作为整数的Dim i i=

我试图计算一个目录中的文件数,并隐藏与按钮总数相对应的按钮数以除去目录中的文件数。此时代码似乎没有超过创建目录的行,没有错误,但文本不会更新,按钮也不会隐藏

选项显式打开
导入System.IO
导入System.Net.Sockets
公开课表格2
将用户名设置为字符串
Dim FriendsArray()作为字符串
私有子表单2_Load(ByVal发送方作为System.Object,ByVal e作为System.EventArgs)处理MyBase.Load
作为整数的Dim i
i=0
表格1.Hide()
username=File.ReadAllText(“C:\Program Files\PolarisChatUser\TempUser\UserID.txt”)
Directory.CreateDirectory(“C:\ProgramFiles\PolarisChatUser\”+用户名+“\Friends”)
对于My.Computer.FileSystem.GetFiles(“C:\Program Files\PolarisChatUser\”+用户名+“\Friends”)中的每个foundFile作为字符串
FriendsArray(i)=创建文件
i=i+1
下一个
btnF1.Text=FriendsArray.Length
如果FriendsArray.Length=0,则
btnF1.Hide()
如果结束
端接头
末级
更新代码

选项显式打开
导入System.IO
导入System.Net.Sockets
公开课表格2
将用户名设置为字符串
Dim FriendsArray作为列表(字符串)
私有子表单2_Load(ByVal发送方作为System.Object,ByVal e作为System.EventArgs)处理MyBase.Load
作为整数的Dim i
i=0
表格1.Hide()
username=File.ReadAllText(“C:\Program Files\PolarisChatUser\TempUser\UserID.txt”)
Directory.CreateDirectory(“C:\ProgramFiles\PolarisChatUser\”+用户名+“\Friends”)
对于My.Computer.FileSystem.GetFiles(“C:\Program Files\PolarisChatUser\”+用户名+“\Friends”)中的每个foundFile作为字符串
FriendsArray.Add(foundFile)
i=i+1
下一个
btnF1.Text=FriendsArray.Count
如果FriendsArray.Count=1,则
btnF1.Hide()
如果结束
端接头

End Class
目录。GetFiles
返回目录中的文件名数组。只需获取数组的
.Count
.Length
属性即可

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim TheFiles = Directory.GetFiles("C:\Users\maryo\Desktop")
    Dim NumberOfFilesInDirectory As Integer = TheFiles.Count
    Debug.Print(NumberOfFilesInDirectory.ToString)
End Sub
像这样试试

Dim counter As Integer = Directory.GetFiles(FolderPath, "*.*", SearchOption.AllDirectories).Length;
MsgBox("Number of files is : " + counter)
或特定文件默认值

FilesInFolder = Directory.GetFiles(FolderPath, "*.Doc").Count

MsgBox("Number of files is : " + FilesInFolder )

数组是如何初始化的?请注意,您将VB代码粘贴到了一个标有“HTML”的框中。没有VB的框,因为代码段不是为VB准备的。使用代码格式化工具
{}
而不是代码段
。请参阅确保文本文件中没有换行符和/或回车符,或在读取文本后调用
Trim
。自Windows 2000以来,标准用户没有对程序文件文件夹的写入权限。您应该将这些项目放在应用程序数据文件夹中,但事实并非如此。即使以管理员权限运行,从Vista开始(现在已经12年了),启动程序时仍然需要显式授权管理访问权限。而且,这只是拙劣的实践;应用程序数据就是这些东西的归属。