~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
开发工具与关键技术:Visual Studio 2015
作者:李成富
撰写时间:2019年8月03日
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
实现该功能使用到了DirectoryInfo类。
DirectoryInfo 类派生自 FileSystemInfo 类。它提供了各种用于创建、移动、浏览目录和子目录的方法。该类不能被继承。
下表列出了 DirectoryInfo 类中一些常用的属性:
下表列出了 DirectoryInfo 类中一些常用的方法:
通过以上的知识点,简单的做了一个循环遍历所有文件夹下的文件的功能,用到DirectoryInfo 类中的属性有CreationTime、LastAccessTime、Name、Extension。
xaml页面代码:
<Grid>
<ListBox x:Name="listBox" HorizontalAlignment="Left" Height="200" Margin="70,36,0,0" VerticalAlignment="Top" Width="650"/>
<Button x:Name="button" Content="按钮" HorizontalAlignment="Left" Margin="202,263,0,0" VerticalAlignment="Top" Width="75" Height="40" RenderTransformOrigin="-0.307,0.364" Click="button_Click"/>
Grid>
前台效果图:
C#代码:
//扫描路径
DirectoryInfo theFolder = new DirectoryInfo(@"F:\前段知识看点\代码集\");
//按钮事件
private void button_Click(object sender, RoutedEventArgs e)
{
scan(theFolder);
}
//扫描方法
private void scan(FileSystemInfo info)
{
if (!info.Exists) return;
DirectoryInfo dir = info as DirectoryInfo;
//不是目录
if (dir == null) return;
FileSystemInfo[] files = dir.GetFileSystemInfos();
for (int i = 0; i < files.Length; i++)
{
FileInfo file = files[i] as FileInfo;
//是文件
if (file != null)
{
listBox.Items.Add("名字: " + file.Name + ", 创建时间: " + file.CreationTime + ", 扩展名: " + file.Extension + ", 上次访问时间: " + file.LastAccessTime);
}
else scan(files[i]);
}
}
效果图: