मेरे पास एक फ़ाइल है जिसमें से मैंने प्रत्येक अनुमति को दबा दिया है। कोई भी फ़ाइल को पढ़ने में सक्षम नहीं होना चाहिए, है ना? वास्तव में, यदि मैंजावा - file.length() फ़ाइल को पठनीय नहीं होने पर भी लौटाता है
File f = new File("not_readable.pdf");
System.out.println(f.canRead())
चलाने मैं
false
मिल हालांकि, अगर मैं
File f = new File("not_readable.pdf");
System.out.println(f.length())
फोन मैं
455074
प्राप्त यह मेरी समझ है कि आदेश में किसी फ़ाइल का आकार प्राप्त करने के लिए उसे खोलना और पढ़ना चाहिए ई फाइल पहले, लेकिन यह परिणाम दृढ़ता से सुझाव देता है कि मैं गलत हूं। क्या किसी को पता है यह क्यों होता है? साथ ही, क्या फ़ाइल की आकार तक पहुंचने से जावा की फ़ाइल। लम्बाई() विधि को रोकने का कोई तरीका है?
मैं उबंटू 12.10
क्या ext * फाइल सिस्टम आकार को बचाता है? इसे आज़माएं: 'cat/dev/urandom> फ़ाइल; chmod 000 फ़ाइल; ls -sh फ़ाइल; 'मैं गलत हो सकता हूं, लेकिन मुझे पूरा यकीन है कि अनुमतियां शून्य हैं, भले ही अनुमति शून्य हो। – BenjiWiebe
लंबाई प्राप्त करने के लिए फ़ाइल को क्यों खोलना चाहिए? यह फ़ाइल सिस्टम में निर्देशिका जानकारी में संग्रहीत किया जाएगा। – OldProgrammer