Angenommen, Sie haben mehrere Verzeichnisse, die alle auf derselben Partition vorhanden sind. Nehmen wir an, Sie möchten die Gesamtzahl der Bytes finden, die von allen in jedem Verzeichnis verwendet werden, was ist eine gute Möglichkeit, das zu tun? Wenn ich Java File und Apache FileUtils betrachte, kann ich nur Informationen zur Festplattennutzung über die Partition erhalten, aber was ich brauche ist, dass ich das auf ein bestimmtes Verzeichnis beschränken kann.Java 1.6, So erhalten Sie die Gesamtzahl der Bytes, die von allem in einem angegebenen Verzeichnis verwendet werden
Example:
Partition X: 100GB
Root directories:
/x/1/
/x/2/
/x/3/
Deeper directories can exist under each root directory:
/x/1/files/a/deeper/path/test.txt
/x/2/files/test.txt
/x/3/files/path/to/files/test.txt
Goal:
long byteSumForX1 = ??
Sagen Sie die 3 oben Pfade unter Partition x vorhanden ist, würde ich die Gesamtzahl der Bytes in der Lage sein wie die von jedem Stammverzeichnis oben angegebenen verwendet zu finden. Die Summe müsste rekursiv sein und alle Dateien und Verzeichnisse innerhalb des Wurzelverzeichnisses enthalten.
Irgendwelche Ideen? Ich würde es vorziehen, einige vorhandene Bibliothek dafür zu nutzen, wenn eine existiert (vorausgesetzt/hoffe es tut)
beschränkt ist Die meisten Werkzeuge, die Ihnen nur gibt die Länge der Dateien, nicht die tatsächlich verwendete Größe. Zum Beispiel kann eine Datei mit 1 Byte 512B oder 4KB Speicherplatz belegen. Dateien mit längeren Namen können mehr Speicherplatz belegen (abhängig vom Dateisystemtyp). Wenn Sie eine Sparse-Datei haben, kann deren Länge um ein Vielfaches (möglicherweise 1000x größer) als die tatsächlich verwendete Größe sein. –