user386258
user386258

Reputation: 1953

How to check if a file exists in a folder?

I need to check if an xml file exists in the folder.

DirectoryInfo di = new DirectoryInfo(ProcessingDirectory);
FileInfo[] TXTFiles = di.GetFiles("*.xml");
if (TXTFiles.Length == 0)
{
    log.Info("no files present")
}

Is this the best way to check a file exists in the folder.

I need to check just an xml file is present

Upvotes: 122

Views: 479164

Answers (8)

ranojan
ranojan

Reputation: 837

This woked for me.

file_browse_path=C:\Users\Gunjan\Desktop\New folder\100x25Barcode.prn
  String path = @"" + file_browse_path.Text;

  if (!File.Exists(path))
             {
      MessageBox.Show("File not exits. Please enter valid path for the file.");
                return;
             }

Upvotes: 0

Bhavin
Bhavin

Reputation: 81

if (File.Exists(localUploadDirectory + "/" + fileName))
{                        
    `Your code here`
}

Upvotes: 1

WonderWorker
WonderWorker

Reputation: 9062

It can be improved like so:

if(Directory.EnumerateFileSystemEntries(ProcessingDirectory, "*.xml").ToList<string>().Count == 0)
    log.Info("no files present")

Alternatively:

log.Info(Directory.EnumerateFileSystemEntries(ProcessingDirectory, "*.xml").ToList<string>().Count + " file(s) present");

Upvotes: 3

Bennett Yeo
Bennett Yeo

Reputation: 829

Since nobody said how to check if the file exists AND get the current folder the executable is in (Working Directory):

if (File.Exists(Directory.GetCurrentDirectory() + @"\YourFile.txt")) {
                //do stuff
}

The @"\YourFile.txt" is not case sensitive, that means stuff like @"\YoUrFiLe.txt" and @"\YourFile.TXT" or @"\yOuRfILE.tXt" is interpreted the same.

Upvotes: 9

VMAtm
VMAtm

Reputation: 28355

Use FileInfo.Exists Property:

DirectoryInfo di = new DirectoryInfo(ProcessingDirectory);
FileInfo[] TXTFiles = di.GetFiles("*.xml");
if (TXTFiles.Length == 0)
{
    log.Info("no files present")
}
foreach (var fi in TXTFiles)
    log.Info(fi.Exists);

or File.Exists Method:

string curFile = @"c:\temp\test.txt";
Console.WriteLine(File.Exists(curFile) ? "File exists." : "File does not exist.");

Upvotes: 41

Himansz
Himansz

Reputation: 193

This way we can check for an existing file in a particular folder:

 string curFile = @"c:\temp\test.txt";  //Your path
 Console.WriteLine(File.Exists(curFile) ? "File exists." : "File does not exist.");

Upvotes: 7

62071072SP
62071072SP

Reputation: 1935

To check file exists or not you can use

System.IO.File.Exists(path)

Upvotes: 34

CodeCaster
CodeCaster

Reputation: 151604

This is a way to see if any XML-files exists in that folder, yes.

To check for specific files use File.Exists(path), which will return a boolean indicating wheter the file at path exists.

Upvotes: 211

Related Questions