আমি কোনও ব্যবহারকারী দ্বারা স্ট্রিং ইনপুট কোনও ফোল্ডারের পাথ উপস্থাপনের জন্য বৈধ কিনা তা নির্ধারণ করার চেষ্টা করছি। বৈধ দ্বারা, আমি সঠিকভাবে ফর্ম্যাট বলতে চাই।
আমার অ্যাপ্লিকেশনটিতে, ফোল্ডারটি একটি ইনস্টলেশন গন্তব্য উপস্থাপন করে। তবে শর্ত থাকে যে ফোল্ডারের পাথ হয় বৈধ, আমি কিনা তা নির্ধারণ করতে ফোল্ডারের বিদ্যমান চান, এবং এটি তৈরি যদি এটা না।
আমি বর্তমানে ব্যবহার করছি IO.Directory.Exists( String path )
। আমি দেখতে পেয়েছি যে ব্যবহারকারী স্ট্রিংটি সঠিকভাবে ফর্ম্যাট না করে ব্যতীত এটি কাজ করে। যখন এটি হয়, এই পদ্ধতিটি মিথ্যা ফিরে আসবে যা ইঙ্গিত দেয় যে ফোল্ডারটির অস্তিত্ব নেই। তবে এটি একটি সমস্যা কারণ আমি পরে ফোল্ডারটি তৈরি করতে সক্ষম হব না।
আমার গুগলিং থেকে আমি ফর্ম্যাটটি সঠিক কিনা তা পরীক্ষা করার জন্য একটি নিয়মিত অভিব্যক্তি ব্যবহার করার পরামর্শ পেয়েছি found নিয়মিত প্রকাশের সাথে আমার কোনও অভিজ্ঞতা নেই এবং আমি ভাবছি যে এটি যদি একটি কার্যকর পদ্ধতির হয়। আমি যা পেয়েছি তা এখানে:
Regex r = new Regex( @"^(([a-zA-Z]\:)|(\\))(\\{1}|((\\{1})[^\\]([^/:*?<>""|]*))+)$" );
return r.IsMatch( path );
এর সাথে মিলে একটি নিয়মিত অভিব্যক্তি পরীক্ষা কি Directory.Exists()
আমাকে পথটি বৈধ কিনা তা পরীক্ষা করার জন্য একটি ভাল পর্যাপ্ত পদ্ধতি দেয় এবং এটি বিদ্যমান কিনা? আমি জানি এটি ওএস এবং অন্যান্য বিষয়গুলির সাথে পৃথক হবে, তবে প্রোগ্রামটি কেবল উইন্ডোজ ব্যবহারকারীদের জন্যই লক্ষ্যযুক্ত ।