Zum Inhalt springen

Verzeichnis/Root Größen


Vossi84

Empfohlene Beiträge

Hallo @ All!

Ich hoffe hier kann mir jemand helfen. Ich möchte ein PGM schreiben, was mir die Restkapazitäten eines Laufwerkes anzeigt, bzw. es würde mir schon reichen, wenn ich den Freienspreicherplatz irgendwie rausbekommen könnte.

Ich bin für jede Antwort sehr dankbar. :e@sy

Cya

Vossi

Link zu diesem Kommentar
Auf anderen Seiten teilen

HI @ All...

Danke dir etherius, aber ich habe es gerade selber hin bekommen. Ist zwar nicht die eleganteste Lösung, aber es dient dem Zweck.

Lösung:

- cmd /c dir ausführen

- Inputstream einlesen

- vorletze Zeile nehmen

- dort die freien Bytes auslesen

--> den String in long umwandeln und man kann damit tun und lassen was man will!

(Was mir jetzt noch fehlt ist ein CMD-Befehl, mit dem ich die gesamt Kapazität auslesen kann, aber der dient nur noch zur Verschönerung!)

MfG

Vossi

Link zu diesem Kommentar
Auf anderen Seiten teilen

Nein, ich glaube nicht... nach dem ich darüber etwas gelesen habe, ist es auch logisch!

Java steht für Plattformunabhängigkeit! Wenn ich jetzt hier was mit CMD-Befehlen mache (oder eben auch dirket auf "BESTIMMTE" Laufwerke zu greifen möchte) ist es nicht mehr unabhängig...

Stimmst du mir da zu?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Nein, ich glaube nicht... nach dem ich darüber etwas gelesen habe, ist es auch logisch!

Java steht für Plattformunabhängigkeit! Wenn ich jetzt hier was mit CMD-Befehlen mache (oder eben auch dirket auf "BESTIMMTE" Laufwerke zu greifen möchte) ist es nicht mehr unabhängig...

Stimmst du mir da zu?

Jein. Sicher ist es nicht plattformunabhängig, die Funktionalität mit "CMD" zu simulieren. Allerdings sagt Dir als Anwender doch jedes Betriebssystem, wie groß welche Datei bzw. Verzeichnis ist. Und da man mit einem File-Objekt einen Verweis auf eine Datei im Dateisystem hat, sollte es doch möglich sein, vom BS abzufragen, wie groß diese Datei ist?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Da gebe ich dir vollkommen recht. Mit einem File-Obj bekomme ich Zugriff auf die Größe, versuch das aber bitte mal mit Verzeichnissen bzw. mit Root/Laufwerken! Das geht an der Stelle leider nicht mehr.

Was mir eben dazu noch einfallen würde, mit einem CMD-Befehl die Größe rauszubekommen und dann auch eben mit einem InputStream einlesen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Da gebe ich dir vollkommen recht. Mit einem File-Obj bekomme ich Zugriff auf die Größe, versuch das aber bitte mal mit Verzeichnissen bzw. mit Root/Laufwerken! Das geht an der Stelle leider nicht mehr.

Tatsache. Das geht ja. Hab' nur nach Methoden mit einem 'size' im Namen gesucht. Heißt aber 'length'.

Das das mit Verzeichnissen nicht klappt, kann ich mir denken. Denn auch Windows macht das, was ich vorschlage:

Du läßt Dir alle Dateien in diesem Verzeichnis geben und iterierst drüber. Während dem Iterieren summierst Du die Größen auf. Falls unter den Objekten im Verzeichnis wieder ein Verzeichnis ist, tust Du genau dasselbe nochmal -> Rekursion.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...