`
niunan
  • 浏览: 717543 次
  • 性别: Icon_minigender_1
  • 来自: 南宁
社区版块
存档分类
最新评论

通过文件名检测文件是否存在于某文件夹中

    博客分类:
  • .NET
阅读更多
    从太平洋采集了7万多条商品数据,但是采集到的商品小图才7千多张,但是商品的图片路径又都写到数据库中了,所以在显示数据的时候从数据库中取出图片路径出来的时候要判断该图片是否存在于采集下来的图片文件夹中.
    要通过文件名判断文件是否存在于文件夹中,最容易想到的方法就是通过Directory.GetFiles(Server.MapPath("~/niunantest/images"))取出图片文件夹下的所有文件的全路径的名称,如:
"D:\\太平洋商品数据查看\\pcdata\\images\\005814.jpg"
然后就可以通过foreach循环一个一个判断了,在循环中可通过字符串的Contains方法判断全路径中是否包含该文件名.
    在用智能提示的时候发现string[]字符串数组也有Contains方法,判断某个字符是否在某字符数组中,但是我要比较的是某个字符是否包含中数组中的某个元素中, 根据代码智能示,Contains的第二个重载方法接收两个参数,第二个参数是实现了IEqualityComparer接口的一个类,到MSDN查了一下资料,得如下代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;

public partial class test : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        string[] files = Directory.GetFiles(Server.MapPath("~/images"));
        string str = "061077.jpg";
        bool b = files.Contains(str, new Compare());
        Response.Write("要比较的值:" + str + "<br >比较结果:" + b);
    }
}

public class Compare : IEqualityComparer<string>
{
    #region IEqualityComparer<string> 成员

    /// <summary>
    /// </summary>
    /// <param name="x">类似于:"D:\\太平洋商品数据查看\\pcdata\\images\\005814.jpg"</param>
    /// <param name="y">类似于:"009018.jpg"</param>
    /// <returns></returns>
    public bool Equals(string x, string y)
    {
        FileInfo fi = new FileInfo(x);
        string tmp = fi.Name;
        if (y == tmp)
        {
            return true;
        }
        else
        {
            return false;
        }
    }

    public int GetHashCode(string obj)
    {
        return obj.ToString().ToLower().GetHashCode();
    }

    #endregion
}


    这样只需要用数组的Contains方法即可得到我想要的结果!
分享到:
评论

相关推荐

    VB 检测文件是否存在

    在VB(Visual Basic)编程中,检测文件是否存在是常见的任务,这对于文件操作、数据存储或程序功能的实现至关重要。下面将详细介绍如何使用VB来检查一个文件是否存在于指定的路径下。 首先,VB提供了多种方法来完成...

    易语言监视文件夹是否被改动

    本教程将详细讲解如何使用易语言来实现监视文件夹是否被改动的功能,这对于文件管理和系统监控类应用程序来说至关重要。 易语言是一款面向普通用户的编程软件,它的语法简洁明了,以中文词汇为基础,使得编程过程...

    易语言检测文件夹是否存在

    "易语言检测文件夹是否存在"这一主题,是编程中常见的文件系统操作,主要用于确认指定路径的文件夹是否实际存在于计算机的文件系统中。下面我们将详细探讨如何使用易语言来实现这个功能,以及相关的重要知识点。 ...

    检测Ftp多文件是否存在,不存在,则记录

    4. `ScanningFile`类中,使用`FtpWebRequest`检查文件,如果文件不存在,将该文件名写入数据库(通过DAL层)。 5. 等待所有任务完成,处理结果,如打印报告或显示通知。 以上是根据给定的标题和描述推断出的FTP文件...

    判断文件是否在指定目录的小工具

    尽管描述为空,但我们可以根据标题推测,这是一个小型的程序或代码片段,可能是一个Java类,用于检测文件在给定目录的存在性。通常,这样的工具会接受文件路径和目标目录作为输入,然后返回一个布尔值,表示文件是否...

    VBA写的检测特定目录下文件夹以及文件的更新情况表

    这些信息可用于检测文件是否被更新或新创建。 4. **比较文件状态**:程序可能维护一个基线状态,即首次扫描时文件夹的状态。之后每次扫描时,它会将当前状态与基线状态进行比较,找出发生变化的文件。 5. **记录和...

    Delphi IsFileName判断文件名是否有效.rar

    Delphi 判断文件名是否有效,主要判断文件名中是否包括有一些特殊字符,比如斜杠之类的,看了代码,原来挺基础的,主要是使用了Delphi中的IsFileName函数,不几行代码就搞定了,下面的代码仅供参考:  procedure ...

    文件夹批量对比软件,适合文件同步Copy后的验证

    总的来说,文件夹批量对比软件是IT工作中确保数据完整性和一致性的重要工具,通过比较文件属性和内容,用户可以快速检测并修复文件复制或同步过程中的问题。正确使用这类软件,可以极大地提高工作效率,避免因数据...

    创建文件夹和xml文件并行xml文件中添加信息

    1. **文件检测**:首先检查目标路径下的XML文件是否已存在。 2. **加载与写入**:如果文件已存在,则加载文件并在其中追加数据;如果文件不存在,则创建新的XML文件并写入初始数据。 3. **构建XML结构**:无论文件...

    检测文件夹是否存在.zip易语言项目例子源码下载

    在易语言中,检测文件夹是否存在是一项基本操作,常常用于文件管理或程序执行前的准备工作。这个项目的重点可能包括以下几个方面: 1. **路径处理**:首先,你需要理解如何在易语言中表示和操作文件路径。这通常...

    LabView2011智能新建文件夹-文件

    ”函数,可以用来检测一个文件或文件夹是否已经存在于指定的路径。如果返回真,表示文件或文件夹存在;如果返回假,表示不存在。 3. **新建文件夹**:在LabView中,可以使用“创建目录”函数来创建新的文件夹。这个...

    批量修改中文文件名编码程序

    3. **智能匹配**:在转换过程中,程序可能需要对乱码文件名进行识别和匹配,以确保转换后的文件名与原文件内容对应,防止信息丢失。 4. **兼容性**:考虑到mp3、手机、PSP等设备可能使用的不同文件系统,该程序需要...

    linux shell 中判断文件、目录是否存在的方法

    # 判断文件夹是否存在并具有可执行权限 testPath="/Volumes/MacBookProHD/Mr.Wen/08 shell命令" if [[ ! -d "$testPath" ]]; then echo "文件夹不存在" else echo "文件夹存在" fi # 判断文件是否存在并且具有可...

    批量重命名工具-文件、文件夹批量重命名 一键快速处理

    芝麻文件重命名软件是一款专业的重命名软件,支持文件和文件夹批量重命名,一键插入、替换、删除文件名指定字符,给文件名称添加编号、序号,快速修改文件的修改时间、创建时间、后缀名;查看文件属性,修改文件创建...

    文件检测工具.zip

    这是一个检测文件重复的工具(AllDup),能够快速检测出重复了的文件,包括文本、图片、音乐、视频等,支持以文件名、文件扩展名、文件大小等方式搜索,支持查找和硬链接重复的文件。该工具比较轻量,免费使用。

    LOST.DIR文件夹中意外丢失文件的恢复方法

    当文件系统检测到磁盘扇区中的数据块存在错误时,它会将这些数据块移动到`LOST.DIR`文件夹中,并将其作为未分配的文件进行存储。这些文件通常没有文件名或扩展名,因此无法直接打开或识别。然而,通过特定工具和技术...

    监控文件夹内的文件变化

    本文将详细讲解如何实现"监控文件夹内的文件变化"这一功能,我们将围绕标题和描述展开讨论,并结合提供的"Folder Notify"这一文件名,推测可能是一个用于文件夹监控的示例或工具。 首先,我们要理解什么是文件变化...

    C++基础:怎样判断某一文件是否存在.doc

    以上介绍了两种判断文件或文件夹是否存在的方法:一种是使用`&lt;fstream&gt;`库中的流对象方法,适用于C++环境;另一种是使用C语言中的`access`函数,可以同时应用于C和C++环境中。两种方法各有优缺点,具体选择哪种方法...

    VC++测试某个目录中文件是否存在

    本篇文章将详细介绍如何使用VC++来检测一个文件是否存在于指定的目录中。 首先,我们关注到函数`FileExit(char* szfile)`,这个函数的目的是检查`szfile`所指向的文件在当前程序路径下是否存在。函数内部定义了几个...

Global site tag (gtag.js) - Google Analytics