2013-12-12 5 views
20

फ़ाइल सिस्टम में फ़ाइल के गुणों की जांच के लिए कक्षा BasicFileAttributes, विधि isRegularFile() है। दुर्भाग्यवश, जावाडोक विवरण की कमी है:जावा में "नियमित फ़ाइल" क्या है?

बताता है कि फ़ाइल अपारदर्शी सामग्री के साथ एक नियमित फ़ाइल है या नहीं।

इसका क्या अर्थ है? अपारदर्शी सामग्री के साथ एक नियमित फाइल वास्तव में क्या है? मैं कक्षा में अन्य विधियों से बता सकता हूं कि यह एक निर्देशिका या प्रतीकात्मक लिंक नहीं है, इसलिए मुझे लगता है कि यह सब कुछ है। हालांकि, जाहिर है कि कुछ प्रकार की "अनियमित फाइल" है क्योंकि एक विधि को isOther() कहा जाता है, जो सत्य, यदि यह निर्देशिका, प्रतीकात्मक लिंक या "नियमित फ़ाइल" नहीं है तो सत्य लौटाता है।

तो जावा में नियमित रूप से एक नियमित फ़ाइल क्या है?

+0

मिले [इस सवाल] (http अन्य सभी जानकारी प्राप्त करें://stackoverflow.com/questions/16505508/what-opaque-content-exactly-mean) जो अपारदर्शी सामग्री भाग पर अधिक केंद्रित है। हालांकि आपके पूरे प्रश्न का उत्तर नहीं दे रहा है। – thegrinner

+2

* निक्स सिस्टम पर फ़ाइल सिस्टम में डिवाइस नोड्स, फीफो और स्थानीय सॉकेट भी हैं। शायद यह "अन्य" का मतलब है? – FatalError

+0

@FatalError, तो यह शब्द केवल * निक्स सिस्टम पर प्रासंगिक है, लेकिन विंडोज़ जैसे सिस्टम पर नहीं? – Thunderforge

उत्तर

11

उदाहरण के लिए यूनिक्स में, एक नियमित फ़ाइल वह है जो किसी भी तरह से विशेष नहीं है। विशेष फाइलों में प्रतीकात्मक लिंक और निर्देशिका शामिल हैं। एक नियमित फ़ाइल फ़ाइल सिस्टम में स्थायी रूप से संग्रहीत बाइट्स का एक अनुक्रम है।

इस उत्तर @ यूनिक्स & लिनक्स stackexchange पढ़ें: What is a regular file?

मैं समझ rm मैं एक उपनाम है, संभवतः rm मैं है। "नियमित" भाग विशेष रूप से कुछ भी नहीं है, इसका मतलब केवल यह है कि यह पाइप नहीं है, डिवाइस, सॉकेट या कुछ अन्य "विशेष"।

इसका मतलब है कि फ़ाइल एक सिम्लिंक, पाइप, रैंड, नल, सीपीयू, आदि नहीं है शायद आपने लिनक्स दर्शन सुना है सब कुछ एक पाठ है। यह सचमुच सच नहीं है, लेकिन यह एक प्रमुख परिचालन संदर्भ सुझाता है जहां स्ट्रिंग प्रोसेसिंग टूल्स को फाइल सिस्टम तत्व पर सीधे लागू किया जा सकता है। इस मामले में, इसका मतलब है कि एक और शाब्दिक फैशन में। अलगाव में पहचान चरण देखें, फ़ाइल /etc/passwd या फ़ाइल/dev/null में फ़ाइल फ़ाइल को आज़माएं।

+1

क्या यह शब्द विंडोज और अन्य प्लेटफ़ॉर्म पर भी लागू होता है? – Thunderforge

+0

हां, जावा का समर्थन करने वाले सभी प्लेटफ़ॉर्म लागू करें। – Jorgesys

+1

विंडोज में प्रासंगिकता के रूप में, मेरा मानना ​​है कि एनटीएफएस फाइल सिस्टम वास्तविक रूप से प्रतीकात्मक लिंक के अपने रूप का समर्थन करता है, आपको केवल उन्हें बनाने में सक्षम होने के लिए एक विशिष्ट उपकरण की आवश्यकता होती है। – Gimby

4

Files Reference - AIX IBM

एक फ़ाइल से कि से पढ़ा जा सकता है या करने के लिए लिखा डेटा का एक संग्रह है। एक फ़ाइल आपके द्वारा बनाई जाने वाली एक प्रोग्राम हो सकती है, आपके द्वारा लिखे गए पाठ, आपके द्वारा प्राप्त डेटा या आपके द्वारा उपयोग किए जाने वाले डिवाइस हो सकती है। कमांड, प्रिंटर, टर्मिनलों और एप्लिकेशन प्रोग्राम सभी फाइलों में संग्रहीत हैं। यह उपयोगकर्ताओं को एक समान तरीके से सिस्टम के विविध तत्वों तक पहुंचने की अनुमति देता है और ऑपरेटिंग सिस्टम को बहुत लचीलापन देता है। फ़ाइल बनाई जाने पर कोई प्रारूप लागू नहीं होता है। डेटा संग्रहीत करता है (पाठ, द्विआधारी, और निष्पादन योग्य) -

फ़ाइलों

  • नियमित के तीन प्रकार के होते हैं।
  • निर्देशिका - अन्य फ़ाइलों तक पहुंचने के लिए उपयोग की जाने वाली जानकारी शामिल है।
  • विशेष - एक फीफो (पहली बार, पहली बार) फ़ाइल या एक भौतिक डिवाइस परिभाषित करता है।

नियमित फ़ाइलें सबसे आम हैं। जब कोई दस्तावेज़ प्रसंस्करण प्रोग्राम का उपयोग दस्तावेज़ बनाने के लिए किया जाता है, तो प्रोग्राम और दस्तावेज़ दोनों नियमित फ़ाइलों में निहित होते हैं।

नियमित फ़ाइलों या तो पाठ या बाइनरी जानकारी होती है। टेक्स्ट फाइलें उपयोगकर्ता द्वारा पठनीय हैं। बाइनरी फाइलें कंप्यूटर द्वारा पठनीय हैं। बाइनरी फाइल निष्पादन योग्य फाइलें हो सकती हैं जो सिस्टम को नौकरी पाने के लिए निर्देश देती हैं। आदेश, खोल स्क्रिप्ट, और अन्य प्रोग्राम निष्पादन योग्य फ़ाइलों में संग्रहीत हैं।

निर्देशिका में ऐसी जानकारी होती है जो सिस्टम को सभी प्रकार की फ़ाइलों तक पहुंचने की आवश्यकता होती है, लेकिन उनमें वास्तविक फ़ाइल डेटा नहीं होता है। नतीजतन, निर्देशिका नियमित फ़ाइल की तुलना में कम जगह पर कब्जा करती है और फ़ाइल-सिस्टम संरचना लचीलापन और गहराई देती है। प्रत्येक निर्देशिका प्रविष्टि या तो फ़ाइल या उपनिर्देशिका का प्रतिनिधित्व करती है और इसमें फ़ाइल का नाम और फ़ाइल का i-node (अनुक्रमणिका नोड संदर्भ) संख्या होती है। I-node संख्या अद्वितीय i-node का प्रतिनिधित्व करती है जो फ़ाइल से जुड़े डेटा के स्थान का वर्णन करती है। निर्देशिकाओं को अलग-अलग आदेशों द्वारा बनाया और नियंत्रित किया जाता है। अधिक जानकारी के लिए ऑपरेटिंग सिस्टम और डिवाइस प्रबंधन में "निर्देशिकाएं" देखें।

विशेष फ़ाइलें प्रक्रियाओं द्वारा बनाई गई प्रणाली या अस्थायी फ़ाइलों के लिए डिवाइस परिभाषित करती है। तीन मूल प्रकार की विशेष फाइलें हैं: फीफो (प्रथम-इन, फर्स्ट-आउट), ब्लॉक, और कैरेक्टर। फीफो फ़ाइलों को पाइप भी कहा जाता है। पाइप एक प्रक्रिया द्वारा अस्थायी रूप से किसी अन्य प्रक्रिया के साथ संचार की अनुमति देने के लिए बनाए जाते हैं। पहली प्रक्रिया समाप्त होने पर ये फ़ाइलें मौजूद रहती हैं। ब्लॉक और चरित्र फाइलें डिवाइस को परिभाषित करती हैं।

यह सब ऊपर दिए गए लिंक से है। मैंने ऑपरेशनल सिस्टम मतभेदों के संबंध में कई अन्य स्रोतों में जांच की है और ऐसा लगता है कि यह मुझे मिले सभी स्रोतों पर सबसे आम परिभाषा है।

+0

यह उत्तर symlinks को कवर नहीं करता है। ये एक विशेष फाइल होगी। – Brian

+0

क्या ये शर्तें विंडोज और अन्य प्लेटफ़ॉर्म पर भी लागू होती हैं? – Thunderforge

+0

हां। जैसा कि मैंने उत्तर के निचले हिस्से में कहा था, यह हर एसओ पर लागू होता है। –

3

मैं इस पर एक विशेषज्ञ नहीं हूं लेकिन पहली बार BasicFileAttributes कक्षा नहीं बल्कि एक इंटरफेस है। तो जो भी एक नियमित फाइल है इस इंटरफेस के कार्यान्वयन पर निर्भर करता है। मैं देख सकता हूं कि उदा। वर्ग WindowsFileAttributs जो इस इंटरफ़ेस को लागू करता है।

आप इस वर्ग के OpenJDK version पर एक नजर है, तो आप पाएंगे यह है कि

!isSymbolicLink() && !isDirectory() && !isOther(); 

कोड से ;-)

संबंधित मुद्दे