2013-01-23 12 views
63

संभव डुप्लिकेट फ़ाइल का कुल आकार प्राप्त करें:
java get file size efficientlyबाइट में

मैं एक फ़ाइल फ़ाइल नाम जो E://file.txt में स्थित है कहा जाता है।

FileInputStream fileinputstream = new FileInputStream(filename); 

मैं इस फ़ाइल के आकार को बाइट्स में गणना करना चाहता हूं। मैं यह कैसे कर सकता हूं?

+0

आप इसे फ़ाइलइनपुट स्ट्रीम के साथ क्यों करना चाहते हैं? – SomeJavaGuy

+1

यह एक डुप्लिकेट उत्तर नहीं है। फ़ाइल आकार कैसे प्राप्त करें और फ़ाइल आकार को कुशलतापूर्वक कैसे प्राप्त करें, दो अलग-अलग विषय हैं। –

+0

@ जनबोडनर आप इस प्रश्न को फिर से खोलने के लिए नामांकित कर सकते हैं। – Illep

उत्तर

141

आप विधि File पर उपयोग कर सकते हैं जो बाइट्स में आकार देता है।

5

आप Files.size(new File(filename).toPath()) के साथ यह सरल कर सकते हैं।

+0

हिंडसाइट में, 'पथ' और 'फ़ाइल' दोनों की आवश्यकता काफी वर्बोज़ हो सकती है, @ स्वप्निल का जवाब अधिक संक्षिप्त हो सकता है। – akaIDIOT

+0

हां लेकिन Java.nio.Files जावा 1.7+ –

+0

के लिए परिभाषित किया गया है ध्यान दें कि जावा 1.6 थोड़ी देर के लिए जीवन का अंत रहा है। यहां तक ​​कि 1.7 प्रभावी रूप से अप्रैल 2015 तक ईओएल है। मुझे नहीं लगता कि यह 1.7+ में उपलब्ध है एक वास्तविक मुद्दा है। – akaIDIOT

34

फ़ाइल आकार की गणना करने के लिए आपको FileInputStream की आवश्यकता नहीं है, new File(path_to_file).length() पर्याप्त है। या, यदि आप जोर देते हैं, तो fileinputstream.getChannel().size() का उपयोग करें।

+0

यह क्या लौटता है? 'fileinputstream.getChannel() आकार()' – Illep

+1

कृपया http://docs.oracle.com/javase/6/docs/api/java/nio/channels/FileChannel.html#size() देखें –

3
public static void main(String[] args) { 
     try { 
      File file = new File("test.txt"); 
      System.out.println(file.length()); 
     } catch (Exception e) { 
     } 
    }