لماذا "الملف موجود" طريقة في العديد من اللغات العودة الحقيقية عن الدليل ؟
-
09-06-2019 - |
سؤال
وأنا أعلم أنه يفعل في بي, و أنا متأكد أن يفعل في جافا.أنا لم تستخدم أحدث الإصدارات .صافي لذا لن أتكلم بالنسبة لهم.يبدو محرجا جدا, ولكن كنت أتساءل إذا كان هناك سبب أساسي هذا.
المحلول
سبب واحد هو التوافق - أي شخص قد فعلت 'التحقق من وجود' يعرف استبعاد الدلائل ؛ تغيير هذا السلوك قد تخلط بين أولئك الذين يعتمدون على هذا السلوك.
ثانيا: التعليمات البرمجية الأساسية في كثير من الأحيان لا شيك على نظام التشغيل من أجل الوجود في catlog من الملفات وإدخالات - إلى نظام التشغيل, دليل هو نفس الملف.وبعبارة أخرى, انها تبحث عن فرصة دخول " xyz "في كتالوج ليس ملف مع اسم" xyz " في الكتالوج.
إلى الوراء التوافق هو السبب الرئيسي أظن.
نصائح أخرى
وهناك أيضا سبب رسمي لماذا دليل هو الملف:
ملفات (أو الروابط إلى الملفات) يمكن أن يكون يقع في الدلائل.ومع ذلك ، عموما, دليل يمكن أن تحتوي على إما قائمة الملفات أو قائمة وصلات إلى الملفات.في هذا تعريف هو من أهمية قصوى أهمية أن مصطلح "ملف" وتشمل الدلائل.هذا يسمح وجود دليل الهرمية ، أي الدلائل التي تحتوي على الدلائل.
من ويكيبيديا ، 'الملف'
ومن الشائع استخدام "الملف موجود" وظيفة للتحقق من مسار قبل كتابة على ذلك.في هذه الحالة استخدام نوع الملف غير ذي صلة ، إذا كان هناك دليل يسمى "/home/foo" أنت لن تكون قادرة على إنشاء ملف يسمى "/home/foo"
أيضا PHP, واحدة من اللغات التي ذكرتها ، ويوفر العديد من الوظائف اعتمادا على ما نوع(ق) من الملف يهمك:
file_exists()
سيعود ينطبق على الملفات والأدلة وصلات رمزيةis_file()
سيعود صحيح عن الملفات لكن كاذبة عن الدلائل sym الروابطis_dir()
سيعود صحيح الدلائل ، ولكن كاذبة عن الملفات و الروابط symis_link()
سيعود صحيح الارتباطات الرمزية ، ولكن كاذبة عن الملفات والدلائل
جزء من فلسفة يونكس هو أن "كل شيء هو الملف".هذا وقد أثرت البيئات الأخرى وكذلك إلى حد ما.