nochmal Plattenplatz...

Status
Nicht offen für weitere Antworten.
U

ugh_bough

Gast
Hi ich will nicht nerven,

aber ich hab nach nun 1 Woche immer mal wieder in der API forschen noch keine Möglichkeit gefunden, die Kapazität und den freien(belegten) Speicherplatz einer Festplatte zu bestimmen. :(

Gibt es fertige Funktionen und wenn nicht weiß jemand Rat?

Danke :!: :!:

ugh_bough
 

Illuvatar

Top Contributor
Um den belegten Platz herauszufinden, könntest du es so machen:

Du legst ein long-Variable an.
Dann machst du eine Methode fileSize (File f), die im Fall, dass f kein Ordner ist, f.length() zu der Variable addiert, und wenn f ein Ordner ist, sich mit allen Files aus listFiles () rekursiv aufruft.

Mach ich häufig ähnlich, wenn ich Ordner löschen will, die Methode hab ich hier, müsstest du halt anpassen:

Code:
 public static void delete (File f)
  {
    if (f.isDirectory()){
      File[] fils = f.listFiles ();
      distance++;//für die Formatierung der Ausgabe
      for (int i = 0; i < fils.length; ++i){
        delete (fils[i]);
      }
      distance--;
    }
    for (int i = 0; i < distance; ++i)
      System.out.print(" ");
    System.out.println(f.getAbsolutePath());
    try{
      f.delete ();
    }catch (Throwable t){//Ich weiß, sollte man nicht machen  :) 
      System.out.println("\t--> " + t);
    }
  }

Wie man die Kapazität herausfindet, weiß ich auch nicht.
 
U

ugh_bough

Gast
ah danke, so hab ich es mir auch schon überlegt. schade, dass es da keine fertige version gibt. wenn man das rekursiv über große verzeichnisse macht dauert das ewig.

naja trotzdem danke

ugh_bough
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben