Dateigröße von Ordnern ermitteln

Pete121

Mitglied
Huhu,
ich hab eine Methode geschrieben die von einer bestimmten Datei die Dateigröße ausliest. Nun möchte ich es zusätzlich machen, dass wenn man einen Ordner angibt in diesem Ordner und auch in allen Unterordner die größe ermittelt wird, allerdings nur eines bestimmtest Dateityps (z.B. .RAR) . Ich hab leider wirklich keine Ahnung wie ich es anstellen soll. Irgendwas muss ich denke ich mit Rekursion machen. Leider habe ich auch damit null Erfahrung...:(
Hier erstmal meine Methode, die die Dateigröße ausliest:
Java:
private String lengthMBytes;

    
    public String leseGröße(String File){
        try {
            RandomAccessFile r = new RandomAccessFile(File, "r");

            double lengthBytes = r.length();
                       
            lengthBytes = lengthBytes / 1048576;
            DecimalFormat lengthFormat =   new DecimalFormat  ( ",##0.00" );
            lengthMBytes = lengthFormat.format(lengthBytes);          
            }
        catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return lengthMBytes;
    }

Mfg
 

nrg

Top Contributor
muss schon rekursiv sein, weil listFiles ja wieder ordner liefert, von denen man wiederrum listFiles aufrufen und davon alle dateien addieren muss und so weiter.

wie gesagt. s. link oben. sollte denke da ganz gut passen

edit: angefangen zu schreiben, bevor du editiert hast :)
 

Pete121

Mitglied
Hi, ich denke schon das mir das helfen würde. Allerdings hab ich das Problem, dass ich den code einfach nicht ganz verstehe, deswegen schaff ich es nicht es an meinem Problem anzupassen :(
 

Pete121

Mitglied
Naja es fängt schon bei der ersten Methode an:
Java:
public class FileTreeParser {
 
    public Directory parse(File root) {
        Directory directory = new Directory(root);
        File[] files = root.listFiles();
        if (files != null) {
            for (File f : files) {
                if (f.isDirectory()) {
                    directory.addSubDirectory(parse(f));
                } else {
                    directory.addFile(f);
                }
            }
        }
        return directory;
    }
}

Is das Directory der Rückgabewert? Weil von so einen Datentyp hab ich noch nie etwas gehört. Zudem verstehe ich einfach nicht was die Methode bezwecken soll, dass liegt einfach daran das ich mich einfach noch nicht so lange mit Java beschäftige und mir die nötigen Erfahrungen und kenntnisse fehlen...
 

nrg

Top Contributor
Directory ist die Klasse, die gleich darunter ist :)

Die Methode macht folgendes:

Java:
public class FileTreeParser {
 
    public Directory parse(File root) {
        Erstelle mir ein Objekt directory von dem Pfad root
        Hole mir alle Dateien und Ordner in diesem Verzeichnis
        if (Das holen erfolgreich war) {
            for (Iteriere mir über alle Dateien und Ordner von root) {
                if (Die aktuelle Datei ein Verzeichnis ist) {
                    Füge dem Objekt directory ein Unterverzeichnis hinzu (das unterverzeichnis ist ein selbstaufruf);
                } else {
                   Füge dem Objekt directory die Datei hinzu;
                }
            }
        }
        Liefer mir das directory mit allen unterrodner und datein und deren unterordner und datein und so weiter und so fort;
    }
}
 

Pete121

Mitglied
Ahh danke für die super erklärung :) Ich hab das soweit hinbekommen, dass mit der größe auslesen. Aber da ich die Directory Klasse wohl noch öfter brauchen werde, um noch andere Sachen auszulesen, werde ich dieses Thema mal vorsichtshalbar noch nicht als Erledigt makieren. :applaus:
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
I Dateigröße von einem InputStream oder byte[] bekommen Java Basics - Anfänger-Themen 2
L Variablen NullPointerException bei Dateigröße (Nr.1) Java Basics - Anfänger-Themen 4
D Dateigröße, Auflösung und Ausmaße eines Bildes auslesen Java Basics - Anfänger-Themen 8
B Dateigröße ermitteln von Datein im Internet Java Basics - Anfänger-Themen 9
A Datengröße / Dateigröße ermitteln. Java Basics - Anfänger-Themen 2
D Dateigröße abfragen Java Basics - Anfänger-Themen 3
G Dateigröße bestimmen Java Basics - Anfänger-Themen 2
M Dateigröße Java Basics - Anfänger-Themen 9
M Dateigröße ermitteln Java Basics - Anfänger-Themen 2
B Input/Output File.length() gibt bei vielen Ordnern 0 zurück Java Basics - Anfänger-Themen 9
R FTP Auflistung von Ordnern/Dateien Java Basics - Anfänger-Themen 20
W Inhalt einer Datei aus mehreren Ordnern auslesen Java Basics - Anfänger-Themen 4
F wie kann ich die Position des letzten Vokals innerhalb einer Zeichenkette ermitteln? Java Basics - Anfänger-Themen 5
S Bildgröße ermitteln & setSize() übergeben Java Basics - Anfänger-Themen 6
B Anzahl Nullen uns Einsen in String ermitteln Java Basics - Anfänger-Themen 3
R Hangman-Spiel-zufälliges Wort ermitteln Java Basics - Anfänger-Themen 4
H Häufigkeit von Zahlen ermitteln Java Basics - Anfänger-Themen 23
H Palindrom ermitteln Java Basics - Anfänger-Themen 21
J Datum ermitteln ? Java Basics - Anfänger-Themen 14
M Beliebtesten Film ermitteln Java Basics - Anfänger-Themen 6
C Größte Zahl aus einem Array ermitteln(als statische Methode) Java Basics - Anfänger-Themen 31
H Bei forEach Index des Elements ermitteln Java Basics - Anfänger-Themen 17
B DHCP-Server Adresse ermitteln Java Basics - Anfänger-Themen 4
hello_autumn Klassen Anzahl sowie die Anzahl der Junit Tests ermitteln? Java Basics - Anfänger-Themen 8
J Ein Wort aus einer Datei zufällig ermitteln Java Basics - Anfänger-Themen 3
V Erste Schritte Potenzen b^n mittels Schleife ermitteln Java Basics - Anfänger-Themen 7
B Anzahl von Stunden / Tage von zwei Datumswerten ermitteln Java Basics - Anfänger-Themen 1
C Laufzeit eines Sortier-Algorithmus ermitteln Java Basics - Anfänger-Themen 4
O 2 Maximalwerte und Minimalwerte aus Array ermitteln Java Basics - Anfänger-Themen 9
L Fortschritt ermitteln Java Basics - Anfänger-Themen 18
N Erste Schritte HSV color space - schwarz und weiß nur anhand von Saturation oder Multiplikator ermitteln Java Basics - Anfänger-Themen 14
N Wahrscheinlichkeiten ermitteln Java Basics - Anfänger-Themen 2
L Objekt Typ zur Laufzeit ermitteln Java Basics - Anfänger-Themen 1
J Schwierigkeitsgrad eines Wortes mit Morsecode ermitteln Java Basics - Anfänger-Themen 18
J Best Practice Datum Differenz aus zwei Strings ermitteln Java Basics - Anfänger-Themen 8
M Erste Schritte primzahlen ermitteln, nur zahlen als eingabe erlauben Java Basics - Anfänger-Themen 34
G Größten und kleinsten Wert im Array ermitteln? Java Basics - Anfänger-Themen 7
G Wie kann ich diesen Wert ermitteln? Java Basics - Anfänger-Themen 4
T Rekursiv Tiefe eines binären Suchbaums ermitteln Java Basics - Anfänger-Themen 22
D Maximale Teilsumme ermitteln Java Basics - Anfänger-Themen 6
MiMa Jüngstes Datum ermitteln Java Basics - Anfänger-Themen 4
S Compiler-Fehler im array Maximum ermitteln Java Basics - Anfänger-Themen 6
V Querprodukt ermitteln Java Basics - Anfänger-Themen 6
L Array: Summe aller geraden und ungeraden Zahlen ermitteln Java Basics - Anfänger-Themen 9
Joew0815 Int to string und primzahle ermitteln Java Basics - Anfänger-Themen 2
F Jalousie Positionen ermitteln Java Basics - Anfänger-Themen 4
C Klassen aus einem Package ermitteln und per Laufzeit laden Java Basics - Anfänger-Themen 17
C Datei mit Daten einlesen und höchsten wert der zweiten Spalte ermitteln Java Basics - Anfänger-Themen 1
L Aus Datum Millisekunden ermitteln ohne Zeitzonen-Berücksichtigung Java Basics - Anfänger-Themen 6
C OOP Schwerpunkt eines Dreiecks ermitteln Java Basics - Anfänger-Themen 4
I Zeitraum eines Monats ermitteln und in String ausgeben Java Basics - Anfänger-Themen 1
S Datentypen Dimensionalität eines Arrays ermitteln Java Basics - Anfänger-Themen 2
V Anzahl von gleichen Werten in einem Int-Array ermitteln Java Basics - Anfänger-Themen 4
D TreeMap: Höheren Key ermitteln und den Value liefern Java Basics - Anfänger-Themen 3
J In einem Array die größte Zahl ermitteln und Faktorisieren. Java Basics - Anfänger-Themen 5
V Array ermitteln - in Quellcode speichern Java Basics - Anfänger-Themen 15
H JEditorPane: ermitteln, ob Zeichen unterstrichen Java Basics - Anfänger-Themen 4
M Monat der letzen 12 Monate ermitteln Java Basics - Anfänger-Themen 8
MiMa String Datum ermitteln Java Basics - Anfänger-Themen 9
H Veränderung eines Objekts ermitteln Java Basics - Anfänger-Themen 6
S Wochentage ermitteln Java Basics - Anfänger-Themen 5
S Ermitteln und Setzen der Attribute eines Objektes Java Basics - Anfänger-Themen 6
F Den Gewinner der Tordifferenz ermitteln Java Basics - Anfänger-Themen 5
J Eltern-Fenster ermitteln Java Basics - Anfänger-Themen 2
S MP3 Spielzeit mit jid3lib ermitteln? Java Basics - Anfänger-Themen 3
M Größer der eigenen .jar ermitteln Java Basics - Anfänger-Themen 4
M Größe einer Datei via. Link ermitteln Java Basics - Anfänger-Themen 9
R Alle Klassen ermitteln, die Interface implementieren / Reflection Java Basics - Anfänger-Themen 51
C Nächsten Montag ermitteln Java Basics - Anfänger-Themen 19
W Position in ArrayList ermitteln Java Basics - Anfänger-Themen 4
B Font Namen ermitteln Java Basics - Anfänger-Themen 7
C least significant bit einer HexMaske für Bitshift ermitteln Java Basics - Anfänger-Themen 2
B Pfad einer .jar im Programm ermitteln Java Basics - Anfänger-Themen 13
H "Index" eines Button ermitteln Java Basics - Anfänger-Themen 7
C Bereits geöffnetes Object ermitteln Java Basics - Anfänger-Themen 5
S ermitteln eines Wertes im StringArray Java Basics - Anfänger-Themen 4
D Ermitteln des kleinsten Messwertes von jedem Tag Java Basics - Anfänger-Themen 15
C Hösten Wert aus mehren Listen ermitteln Java Basics - Anfänger-Themen 2
D Input/Output Pfad richtig ermitteln Java Basics - Anfänger-Themen 12
T Enum - Key als Value ermitteln Java Basics - Anfänger-Themen 7
J den x und y Wert beim klicken der Maus ermitteln Java Basics - Anfänger-Themen 2
M float/double Anzahl Nachkommastellen ermitteln Java Basics - Anfänger-Themen 18
G Sekunden bis zum Ende der aktuellen Kalenderwoche ermitteln! Java Basics - Anfänger-Themen 3
F Substring mittels RegEx ermitteln/ersetzen? Java Basics - Anfänger-Themen 2
M Datentypen Generics: Exacten Typ ermitteln Java Basics - Anfänger-Themen 6
Spin Backgrond Color von Image ermitteln Java Basics - Anfänger-Themen 2
M Größe einer Konsole ermitteln Java Basics - Anfänger-Themen 2
c_sidi90 Größe von Dateien aus File Array ermitteln Java Basics - Anfänger-Themen 12
P Ermitteln aller perfekten Zahlen Java Basics - Anfänger-Themen 12
D Pfad zu "Eigenen Dateien" ermitteln Java Basics - Anfänger-Themen 8
A Relativer Pfad zu einem File ermitteln Java Basics - Anfänger-Themen 2
P Bestimmte Zeilen einer Datei ermitteln ? Java Basics - Anfänger-Themen 30
M Datentypen Wrapperclass eines Primitives ermitteln Java Basics - Anfänger-Themen 4
StrikeTom Shift + pfeiltaste ermitteln Java Basics - Anfänger-Themen 3
H Wie Projekt-Ordner-Pfad ermitteln? Java Basics - Anfänger-Themen 11
A Aktueller Pfad des Programms (.jar) ermitteln Java Basics - Anfänger-Themen 10
P Externe IP ermitteln? Java Basics - Anfänger-Themen 5
J Das Maximum einer Liste ermitteln Java Basics - Anfänger-Themen 8
S Klassennamen ermitteln Java Basics - Anfänger-Themen 10
R Stoppuhr: Zeit ermitteln und übergeben - Variable static?? Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben