C# 使用目录获取文件名

C# get filenames using a directory

提问人:Cheri Choc 提问时间:6/21/2023 最后编辑:Cheri Choc 更新时间:6/21/2023 访问量:61

问:

我有一个包含多个文件的路径“C:\Desktop\Testing”,例如“abc.txt”;”def.txt“,

我想将路径 + 文件名显示为字符串。代码是这样的

           string path = @"C:\Desktop\Testing";
           string[] filelist = Directory.GetFiles(path);
           foreach (string file in fileList)
             {
              
              }     
           string fullPathName = path + file;

我需要 fullPathName 才能通过 addfile 创建 zip。CreateEntryFromFile(fullPathName, 文件)

fullPathName 的结果应为 C:\Desktop\Testing\abc.txt

C# SSIS IO

评论

0赞 NetMage 6/21/2023
由于返回完整的路径和名称,因此无需执行任何操作。Directory.GetFiles

答:

0赞 Steve 6/21/2023 #1

根据文档 Directory.GetFiles

返回指定 目录。

所以我想你的循环可能是

foreach (string file in fileList)
{
    addfile.CreateEntryFromFile(file, Path.GetFileName(file));
}     

Path.GetFileName 将剥离路径部分并仅返回文件名

评论

0赞 Cheri Choc 6/21/2023
我使用以下命令收到错误: string inputfilepath = @“C:\Desktop\Testing” string[] fileList = Directory.GetFiles(inputfilepath);foreach (string文件 in fileList) { var fileStream = new FileStream(zipfile, FileMode.Create); fileStream.Close(); using (ZipArchive addfile = ZipFile.Open(zipfile, ZipArchiveMode.Update)) { addfile.CreateEntryFromFile(inputfilepath, Path.GetFileName(文件));} File.Delete(输入文件路径);}
0赞 Steve 6/21/2023
为什么要将 zip 文件的创建放在循环中?也无需一次又一次地打开 ZipFile。这些操作应位于循环外部。错误消息是什么?