我正在尝试以编程方式构建文件夹中的文件列表,其中包含文件大小和修改日期等特定属性。
我可以返回文件名,但任何其他属性都会抛出错误:System.IO.IOException:文件名,目录名或卷标语法不正确。
我在这里缺少什么?
private void BuildDocList()
{
var files = Directory.GetFiles(Server.MapPath(FilePath));
foreach (var f in files)
{
var file = new FileInfo(FilePath + f);
var fileItem = new ListItem();
// this line works fine
fileItem.Text = file.Name.Split('.')[0] + ", ";
// this line causes the runtime error
fileItem.Text = file.CreationTime.ToShortDateString();
FileList.Items.Add(fileItem);
}
}
答案 0 :(得分:1)
您尝试使用错误的文件名FileInfo
- 您正在使用未映射的路径。你应该使用这样的东西:
string directory = Server.MapPath(FilePath);
string[] files = Directory.GetFiles(directory);
foreach (string f in files)
{
FileInfo file = new FileInfo(Path.Combine(directory, f));
// Now the properties should work.