কোনও ফোল্ডারে কোনও ফাইল রয়েছে কিনা তা কীভাবে পরীক্ষা করবেন?


112

ফোল্ডারে কোনও এক্সএমএল ফাইল উপস্থিত আছে কিনা তা আমার পরীক্ষা করা দরকার।

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

ফোল্ডারে কোনও ফাইল চেক করার এটি কি সেরা উপায়?

আমার কেবলমাত্র একটি এক্সএমএল ফাইল উপস্থিত আছে তা যাচাই করতে হবে


2
আপনি কি সব এক্সএমএল ফাইল সন্ধান করছেন বা নির্দিষ্ট নামের একটি?
পাইটর অগুস্কিক


5
আপনার যা প্রয়োজন তা হ'ল এটি Directory.EnumerateFileSystemEntries(ProcessingDirectory, "*.xml").Any()আপনার পক্ষে দ্রুততম।
শেডো উইজার্ড আপনার জন্য কান

উত্তর:


198

হ্যাঁ, এই ফোল্ডারে কোনও এক্সএমএল-ফাইল বিদ্যমান কিনা তা দেখার এই উপায়।

নির্দিষ্ট ফাইল ব্যবহারের জন্য যাচাই করতে File.Exists(path), যা ফাইলটি pathউপস্থিত রয়েছে সেখানে বুলেয়ান নির্দেশ করে return


4
আপনি ফাইলআইএনফো-এক্সিজিস্ট সম্পত্তি
VMAtm

10
নাহ, যদি এই উত্তরটি মিথ্যা করে তবে যদি ব্যবহারকারীটির কাছে ফাইলটি পড়ার অনুমতি না থাকে। সুতরাং এটি ফাইলটি কোনও ফোল্ডারে উপস্থিত থাকলে কেবল চেকইনফের চেয়ে আরও বেশি কিছু করে। আপনি ডিরেক্টরীআইনফো.গেটফায়ালস () ব্যবহার করতে এবং ফলাফলটি গণনা করতে চাইতে পারেন।
ogborstad

35

FileInfo.Existsসম্পত্তি ব্যবহার করুন :

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

বা File.Existsপদ্ধতি:

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

5
ডাইরেক্টরিআইএনফো এবং ফাইলআইনফোর ক্লাসগুলি দুর্দান্ত। তারা এই ফাইল সিস্টেমের নির্মাণের সাথে মোকাবিলা করার জন্য প্রচুর পদ্ধতি সরবরাহ করে, UI- র সাথে আবদ্ধ হওয়ার সময় দরকারী এমন বৈশিষ্ট্যগুলিতে তথ্য প্রকাশ করে এবং সিরিয়ালাইজযোগ্য হয়, যাতে আপনি এগুলি কনফিগারেশনে ব্যবহার করতে পারেন।

29

ফাইল উপস্থিত আছে কিনা তা পরীক্ষা করতে আপনি ব্যবহার করতে পারবেন না

System.IO.File.Exists(path)

8

এইভাবে আমরা একটি নির্দিষ্ট ফোল্ডারে বিদ্যমান ফাইলের জন্য পরীক্ষা করতে পারি:

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

8

যেহেতু কেউ বলেননি যে কীভাবে ফাইলটি আছে কিনা তা পরীক্ষা করে এবং বর্তমান ফোল্ডারটি কার্যকর করতে পারা যায় (ওয়ার্কিং ডিরেক্টরি) :

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

@"\YourFile.txt"কেস সংবেদনশীল নয়, মানে ভালো জিনিস যে @"\YoUrFiLe.txt"এবং @"\YourFile.TXT"বা @"\yOuRfILE.tXt"একই ব্যাখ্যা করা হয়।


3

এটি এর মতো উন্নত করা যেতে পারে:

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

বিকল্পভাবে:

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

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

2
যদিও এই কোডটি সমস্যার সমাধান করতে পারে (বা নাও পারে), একটি উত্তরের উত্তরে সর্বদা এই কোডটি কী করে তার একটি ব্যাখ্যা প্রয়োজন। এছাড়াও মনে রাখবেন যে আপনার উত্তরটি নতুন কিছু যোগ করবে বলে মনে হচ্ছে না। আপনার কোড নমুনা যথাযথভাবে ফর্ম্যাট করা উচিত এবং কী localUploadDirectoryকী বা কেন আপনার উত্তর এমনকি এটি উল্লেখ করে তাও ব্যাখ্যা করা উচিত।
বিডিএল

0

এটি আমাকে সহায়তা করেছে:

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

4
(System.IO.File.Exists(filePath) ? true : false);অপ্রয়োজনীয় System.IO.File.Exists(filePath);যথেষ্ট হবে।
নবীন নিরাউলা

2
প্রকৃতপক্ষে আদ্রিতার কোডের মতো এটি যেমন ভেরিয়েবলটি ধারণ করে তা স্পষ্ট করে তোলে, ছাত্র প্রোগ্রামগুলির জন্য কীভাবে যুক্তি প্রয়োগ করতে হবে তার একটি দুর্দান্ত উদাহরণ। এটি একটি পাঠে অন্তর্ভুক্ত করতে যাচ্ছি। কখনও কখনও অবশ্যই প্রবাহিত
কোডটিতে

0

এটি আমার জন্য জেগে উঠল।

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;
             }
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.