我正在制作一个应用程序,将目录中的文件排序为与列表框相同的顺序,现在我试图让它对fat32文件表中的文件进行排序,但是无法找出如何或者我是否可以在c#上执行此操作任何人都可以帮助我下载将文件添加到列表框的代码
private void openfolder()
{
if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)
{
DirectoryInfo dinfo = new DirectoryInfo(folderBrowserDialog1.SelectedPath);
FileInfo[] Files = dinfo.GetFiles("*.*");
foreach (FileInfo file in Files)
{
listBox1.Items.Add(file.Name);
}
}
}
答案 0 :(得分:1)
确定。所以它是这样的:
var path = @"U:\";
var di = new DirectoryInfo(path);
var files = di.EnumerateFiles("*.*", SearchOption.TopDirectoryOnly).ToList();
var newDirPath = Path.Combine(path,Guid.NewGuid().ToString("N"));
di = Directory.CreateDirectory(newDirPath);
files.ForEach(f => f.MoveTo(Path.Combine(newDirPath, f.Name)));
files=di.EnumerateFiles("*.*", SearchOption.TopDirectoryOnly)
.OrderBy(f=>f.CreationTime) //sort here
.ToList();
files.ForEach(f=>f.MoveTo(Path.Combine(path,f.Name)));
Directory.Delete(newDirPath);
您对移动文件的反对是没有根据的。移动操作不会复制数据。它只是改变了分配表。