我必须从文件夹中获取所有文件,而我正在使用GetFiles()函数
string[] dirImages = Directory.GetFiles(strPathYearImages + intYear , "*.png");
其中strPathYearImages =“Images \ Holiday \ 2010 \”
但是当我写出像
这样的整个路径时string[] dirImages = Directory.GetFiles(@"E:\IWP\Images\Holiday\"+ intYear , "*.png");
我得到了所需的结果。
如何解决这个问题?我不想使用整个路径。 帮助我。
此致 Jigar< 3
答案 0 :(得分:3)
GetFiles()的文档说:
允许路径参数 指定相对或绝对路径 信息。 相对路径信息 被解释为相对于 当前工作目录
因此,在尝试使用相对路径(例如E:\ IWP)之前,您需要确保正确设置当前工作目录:
答案 1 :(得分:3)
使用Application.StartupPath
获取运行可执行文件的位置。从那里你需要知道images目录相对于该目录的位置。唯一的另一种选择是绝对路径。怎么会知道在哪里看?
您还可以尝试使用System.IO.Path
方法来提供帮助 - 尤其是在组合路径字符串时,还可以为您提供My Documents,AppData和桌面等特殊文件夹的位置。
答案 2 :(得分:2)
也许是因为你是从VS内部运行的。您的可执行文件位于ProjectName \ bin \ Debug中,因此它查找ProjectName \ bin \ Debug \ Images,这显然不存在。
答案 3 :(得分:1)
问题是第一个片段尝试在当前路径下获取图像。所以你可以告诉图像路径相对于你当前的路径。
答案 4 :(得分:0)
嘿所有,我得到了我的问题的答案。 我只需要写
string [] dirImages = HttpContext.Current.Server.MapPath(strPathImages + intYear,“* .png”);
希望它对所有人都有帮助......