我在项目文件夹中有一组图像。
如何检测项目文件夹中是否存在图像?我正在使用c#。感谢。
答案 0 :(得分:11)
if (System.IO.File.Exists("pathtofile"))
//it exist
else
//it does not exist
在提出问题之后编辑了我的回答:
我复制了代码并更改了退出功能,这应该可行
string type = Path.GetExtension(filepath);
string path = @"image/" + type + ".png";
//if(System.IO.File.Exists(path)) I forgot to use the full path
if (System.IO.File.Exists(Path.Combine(Directory.GetCurrentDirectory(), path)))
{ return path; }
else
{ return @"image/other.png"; }
在部署您的应用时,这确实有效
答案 1 :(得分:2)
问题有点不清楚,但我得到的印象是你要追求 exe已安装的路径?
class Program
{
static Dictionary<string, string> typeImages = null;
static string GetImagePath(string type)
{
if (typeImages == null)
{
typeImages = new Dictionary<string, string>();
string appPath = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);
string path = Path.Combine(appPath, @"image/");
foreach (string file in Directory.GetFiles(path))
{
typeImages.Add(Path.GetFileNameWithoutExtension(file).ToUpper(), Path.GetFullPath(file));
}
}
if (typeImages.ContainsKey(type))
return typeImages[type];
else
return typeImages["OTHER"];
}
static void Main(string[] args)
{
Console.WriteLine("File for XLS="+GetImagePath("XLS"));
Console.WriteLine("File for ZZZ=" + GetImagePath("ZZZ"));
Console.ReadKey();
}
}
这将为您提供一个图像文件夹,该文件夹将安装在exe的任何位置。 在开发环境中,你必须在app路径下创建一个调试和释放的图像目录,因为这就是VS放置exe的地方。
答案 2 :(得分:0)
使用File.Exists(Path Here)
如果您使用临时路径,请使用Path.GetTempPath()
答案 3 :(得分:-3)
你可以使用
string[] filenames = Directory.GetFiles(path);
获取文件夹中的文件列表,然后遍历它们,直到找到您要查找的内容(或不是)
或者您可以尝试在try catch块中打开该文件,如果您收到异常,则表示该文件不存在。