C#循环遍历文件夹下的文件

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

开发工具与关键技术:Visual Studio 2015

作者:李成富

撰写时间:2019年8月03日

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

实现该功能使用到了DirectoryInfo类。

DirectoryInfo 类派生自 FileSystemInfo 类。它提供了各种用于创建、移动、浏览目录和子目录的方法。该类不能被继承。

 

下表列出了 DirectoryInfo 类中一些常用的属性:

  1. Attributes:获取当前文件或目录的属性
  2. CreationTime:获取当前文件或目录的创建时间
  3. Exists:获取一个表示目录是否存在的布尔值
  4. Extension:获取表示文件存在的字符串
  5. FullName:获取目录或文件的完整路径
  6. LastAccessTime:获取当前文件或目录最后被访问的时间
  7. Name:获取该DirectoryInfo实例的名称

 

下表列出了 DirectoryInfo 类中一些常用的方法:

  1. public void Create():创建一个目录
  2. public DirectoryInfo Create Subdirectory(string path):在指定的路径上创建子目录。指定的路径可以是相对于DirectoryInfo类的实例的路径
  3. public override void Delete():如果为空的,则删除该DirectoryInfo
  4. public DirectoryInfo[] GetDirectories():返回当前目录的子目录
  5. public FileInfo[] GetFiles():从当前目录返回文件列表

 

通过以上的知识点,简单的做了一个循环遍历所有文件夹下的文件的功能,用到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#循环遍历文件夹下的文件_第1张图片

 

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 == nullreturn;

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]);

}

}

 

效果图:

C#循环遍历文件夹下的文件_第2张图片

你可能感兴趣的:(C#循环遍历文件夹下的文件)