كيف تجد مقدار مساحة القرص المتبقية باستخدام Java؟

StackOverflow https://stackoverflow.com/questions/1051295

  •  20-08-2019
  •  | 
  •  

سؤال

كيف تجد مقدار مساحة القرص المتبقية باستخدام Java؟

هل كانت مفيدة؟

المحلول

فقط انظر إلى فئة الملفات توثيق. هذه واحدة من الميزات الجديدة في 1.6.

وتشمل هذه الطرق الجديدة أيضًا:

  • public long getTotalSpace()
  • public long getFreeSpace()
  • public long getUsableSpace()

إذا كنت لا تزال تستخدم 1.5 ، فيمكنك استخدام Apache Commons io مكتبة و فئة نظام الملفات

نصائح أخرى

Java 1.7 لديه واجهة برمجة تطبيقات مختلفة قليلاً ، يمكن الاستعلام عن مساحة خالية من خلال Filestore الفصل من خلال getTotalspace (), GetUnallocatedSpace () و getusablespace () طُرق.

NumberFormat nf = NumberFormat.getNumberInstance();
for (Path root : FileSystems.getDefault().getRootDirectories()) {

    System.out.print(root + ": ");
    try {
        FileStore store = Files.getFileStore(root);
        System.out.println("available=" + nf.format(store.getUsableSpace())
                            + ", total=" + nf.format(store.getTotalSpace()));
    } catch (IOException e) {
        System.out.println("error querying space: " + e.toString());
    }
}

ميزة API هذه هي أنك تحصل على استثناءات ذات مغزى عند فشل الاستعلام عن مساحة القرص.

استخدام المشاع والملفات:

https://commons.apache.org/proper/commons-io/javadocs/api-2.5/org/apache/commons/io/filesystemutils.html#freespacekb ()

على سبيل المثال

FileSystemUtils.freeSpaceKb("/"); 

أو مدمجة في JDK:

http://java.sun.com/javase/6/docs/api/java/io/file.html#getfreespace ()

new File("/").getFreeSpace();

نهاية لهذه الغاية

إذا كنت مبرمجًا Java ، فربما سُئلت بالفعل هذا السؤال البسيط والغيب: "كيفية العثور على مساحة القرص المجانية المتبقية على نظامي؟". المشكلة هي أن الجواب يعتمد على النظام. في الواقع ، هذا هو التنفيذ الذي يعتمد على النظام. وحتى وقت قريب جدًا ، لم يكن هناك حل فريد للإجابة على هذا السؤال ، على الرغم من أن الحاجة قد تم تسجيلها في قاعدة بيانات أخطاء Sun منذ يونيو 1997. الآن من الممكن الحصول على مساحة القرص المجانية في Java 6 مع طريقة في ملف الفصل ، الذي يعيد عدد البايتات غير المخصصة في القسم الذي يسمى اسم المسار التجريدي. ولكن قد تكون مهتمًا بمساحة القرص القابلة للاستخدام (التي يمكن كتابتها). من الممكن حتى الحصول على مساحة القرص الكلية للقسم باستخدام طريقة getTotalsPace ().

عند التحقق من المساحة باستخدام Java ، لديك الطريقة التالية في فئة ملف Java.io

  • getTotalspace ()
  • getFreespace ()

مما سيساعدك بالتأكيد في الحصول على المعلومات المطلوبة. على سبيل المثال يمكنك الرجوع إلى http://javatutorialhq.com/java/example-source-code/io/file/check-disk-space-java/ الذي يعطي مثالًا ملموسًا في استخدام هذه الطرق.

public class MemoryStatus{  
 public static void main(String args[])throws Exception{  
  Runtime r=Runtime.getRuntime();  
  System.out.println("Total Memory: "+r.totalMemory());  
  System.out.println("Free Memory: "+r.freeMemory());    
 }
}

جرب هذا الرمز للحصول على Diskspace

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top