如果想要获得当前文件中的文件名只需要String [] fileName = file.list();就可以了.如果要包括文件中的文件名就可以用递归的方式.下面是两个具体的实现. 其中public static String [] getFileName(String path)是只得到当前文件中的文件名.
先用System.IO.Directory.GetDirectories函数获取子目录的名称(包括其路径),再用System.IO.Path.GetFileName获取子目录的名称.下面是代码:
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
For Each s In System.IO.Directory.GetDirectories("C:\Windows")
Console.WriteLine(System.IO.Path.GetFileName(s))
Next
End Sub
下面是部分输出:
Application Data
AppPatch
assembly
BOCNET
Boot
Branding
ConfigSetRoot
Cursors
Debug
DigitalLocker
Downloaded Installations
Downloaded Program Files
ehome
en-US
Fonts
Globalization
Help
...
可能有更简洁的方法,你可以到MSDN看看
System.IO.Directory.GetDirectories:
System.IO.Path.GetFileName:
通用 I/O 任务:
预先准备三个图标文件,用于树型控件中显示磁盘符号和文件夹的图像之用.
①.、窗体上添加控件如下:
组合框控件 ComboBox1,树型控件 TreeView1,列表框控件 ListBox1,图像列表控件 ImageList1.
选中TreeView1,设置其ImageList属性为ImageList1.
运行图如下:
完整代码如下:
Imports?System.IO
Public?Class?Form1
Private?Sub?Form1_Load(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?MyBase.Load
'添加系统所有磁盘目录符号
For?Each?MyDrive?As?String?In?Environment.GetLogicalDrives()
ComboBox1.Items.Add(MyDrive)
'显示第一个磁盘符号
ComboBox1.Text?=?ComboBox1.Items(0)
End?Sub
'递归过程添加目录树
Public?Sub?AddDirectory(ByVal?strFatherPath?As?String,?ByVal?strPath?As?String,?ByVal?nodeFather?As?TreeNode)
Dim?i?As?Integer
Dim?Mynode?As?New?TreeNode
'先添加本目录
Mynode.Text?=?Strings.Replace(strPath,?strFatherPath?"\",?"",?,?1)
'为节点指定未被选中时显示的图标
Mynode.ImageIndex?=?1
'为节点指定被选中时显示的图标
nodeFather.Nodes.Add(Mynode)
Application.DoEvents()
Try
Dim?str()?As?String?=?Directory.GetDirectories(strPath)
'递归遍历该目录的子文件夹
For?i?=?0?To?str.GetUpperBound(0)
AddDirectory(strPath,?str(i),?Mynode)
Catch?ex?As?Exception
Debug.WriteLine(ex.Message)
End?Try
Mynode?=?Nothing
'根据给出的盘符添加目录树
Private?Sub?AddRootDirectory(ByVal?DiscSymbol?As?String)
Dim?Nynode?As?New?TreeNode
'先把磁盘盘符添加到树中
TreeView1.Nodes.Clear()
Nynode.ImageIndex?=?0
Nynode.Text?=?DiscSymbol
Nynode.SelectedImageIndex?=?-1
TreeView1.Nodes.Add(Nynode)
'获取磁盘根目录下的文件夹
Dim?str()?As?String?=?Directory.GetDirectories(DiscSymbol?"\")
'调用递归过程遍历该文件夹里的所有子文件夹,并添加到树型控件
AddDirectory(DiscSymbol,?str(i),?Nynode)
Nynode?=?Nothing
Private?Sub?ComboBox1_SelectedIndexChanged(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?ComboBox1.SelectedIndexChanged
'根据磁盘符号的变更,显示根目录里的文件
ListBox1.Items.Clear()
For?Each?MyFile?As?String?In?System.IO.Directory.GetFiles(ComboBox1.Text)
ListBox1.Items.Add(MyFile)
'根据磁盘符号的变更,重新显示目录树
Dim?DiscSymbol?As?String
DiscSymbol?=?Microsoft.VisualBasic.Left(ComboBox1.Text,?Len(ComboBox1.Text)?-?1)
Call?AddRootDirectory(DiscSymbol)
'递归过程根据子目录寻找上级目录名--从而构成完整的目录路径
Private?Sub?AllPath(ByVal?ThisNode?As?TreeNode,?ByRef?MyPathName?As?String)
If?ThisNode.Level?1?Then
'该节点层数大于1,其父节点不是磁盘根目录
MyPathName?=?ThisNode.Parent.Text?"\"?MyPathName
Dim?MyNode?As?TreeNode?=?ThisNode.Parent
Call?AllPath(MyNode,?MyPathName)
Else
'该节点层数等于1,其父节点就是磁盘根目录
MyPathName?=?ComboBox1.Text?MyPathName
End?If
Private?Sub?TreeView1_AfterSelect(ByVal?sender?As?System.Object,?ByVal?e?As?System.Windows.Forms.TreeViewEventArgs)?Handles?TreeView1.AfterSelect
'为了搜索选中的节点对应目录的文件,需要组成全路径
Dim?MyAllPathName?As?String?=?TreeView1.SelectedNode.Text
Dim?MyNode?As?TreeNode?=?TreeView1.SelectedNode
If?TreeView1.SelectedNode.Level?=?0?Then
'如果选中的是根节点
MyAllPathName?=?ComboBox1.Text
'如果选中的是非根节点,调用递归过程组成全路径
Call?AllPath(MyNode,?MyAllPathName)
MyAllPathName?=?MyAllPathName?"\"
'根据路径,搜索文件名并显示
For?Each?MyFile?As?String?In?System.IO.Directory.GetFiles(MyAllPathName)
End?Class
先按行读出所有数据,然后找到需要的信息
IEnumerable?string?list=?File.ReadLines("test.txt",Encoding.Default?);
foreach?(string?s?in?list)
{
if?(s.Contains("图名"))
textBox1.Text?+=?s+"\r\n";
}
if?(s.Contains("图号"))
textBox1.Text?+=?s?+?"\r\n";
不好意思,用的C#,其实差不多了,自己改改就好了
vb.net:
Dim
path
=
System.IO.Directory.GetFiles("D:\Log\abc",
"*.txt",
SearchOption.AllDirectories):搜索该路径下的所有txt类型的目录及子目录
path.AddRange(path)
_RecordInfo
As
String
_Reader
StreamReader
New
StreamReader(file,
System.Text.Encoding.Default):'以Default编码的形式读取file文件(文件写入的编码要与读取的编码一致)
以上就是土嘎嘎小编为大家整理的vb.net获取文件列表相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!