Bagaimana cara memeriksa apakah file ada di folder?


112

Saya perlu memeriksa apakah file xml ada di folder.

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

Apakah ini cara terbaik untuk memeriksa file yang ada di folder tersebut.

Saya perlu memeriksa apakah ada file xml


2
Apakah Anda mencari semua file xml atau yang memiliki nama tertentu?
Piotr Auguscik


5
Yang Anda butuhkan adil Directory.EnumerateFileSystemEntries(ProcessingDirectory, "*.xml").Any()dan itulah yang tercepat yang bisa Anda dapatkan.
Shadow Wizard adalah Ear For You

Jawaban:


198

Ini adalah cara untuk melihat apakah ada file XML di folder itu, ya.

Untuk memeriksa penggunaan file tertentu File.Exists(path), yang akan mengembalikan boolean yang menunjukkan apakah file tersebut pathada.


4
Anda juga dapat menggunakan properti FileInfo.Exists
VMAtm

10
Tidak, jawaban ini mengembalikan false jika pengguna tidak memiliki izin untuk membaca file. Jadi ia melakukan lebih dari sekadar check in jika file tersebut ada di dalam folder. Anda mungkin ingin menggunakan DirectoryInfo.GetFiles () dan menghitung hasilnya.
ogborstad

35

Gunakan FileInfo.ExistsProperti:

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);

atau File.ExistsMetode:

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

5
Kelas DirectoryInfo dan FileInfo sangat mengagumkan. Mereka menawarkan banyak metode untuk menangani konstruksi sistem file ini, mengekspos informasi dalam properti yang berguna saat mengikat ke UI, dan dapat diserialkan, sehingga Anda dapat menggunakannya dalam konfigurasi.

29

Untuk memeriksa file ada atau tidak, Anda dapat menggunakan

System.IO.File.Exists(path)

8

Dengan cara ini kita dapat memeriksa file yang ada di folder tertentu:

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

8

Karena tidak ada yang mengatakan bagaimana cara memeriksa apakah file tersebut ada DAN mendapatkan folder saat ini, file yang dapat dieksekusi ada di (Direktori Kerja) :

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

Tidak @"\YourFile.txt"case sensitive, artinya hal-hal seperti @"\YoUrFiLe.txt"dan @"\YourFile.TXT"atau @"\yOuRfILE.tXt"ditafsirkan sama.


3

Itu dapat ditingkatkan seperti:

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

Kalau tidak:

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

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

2
Meskipun kode ini mungkin (atau mungkin tidak) menyelesaikan masalah, jawaban yang baik selalu membutuhkan penjelasan tentang fungsi kode ini. Perhatikan juga, bahwa jawaban Anda sepertinya tidak menambahkan sesuatu yang baru. Anda juga harus memformat sampel kode Anda dengan tepat dan menjelaskan apa localUploadDirectoryatau mengapa jawaban Anda merujuk padanya.
BDL

0

Ini membantu saya:

bool fileExists = (System.IO.File.Exists(filePath) ? true : false);

4
(System.IO.File.Exists(filePath) ? true : false);berlebihan System.IO.File.Exists(filePath);sudah cukup.
Naveen Niraula

2
Sebenarnya seperti kode Adrita, karena menjelaskan variabel apa yang harus dipegang, juga contoh yang sangat baik tentang bagaimana menerapkan logika untuk program siswa. Akan memasukkan itu dalam pelajaran. Terkadang kode yang harus disederhanakan juga memiliki overhead terbesar dalam pemeliharaan dan debugging
ScaryMinds

0

Ini terbangun untuk saya.

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;
             }
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.