tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
9
ZUGRIFFE
748
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    crombix crombix ist offline Mitglied
    Registriert seit
    Oct 2010
    Beiträge
    17
    Hallo zusammen ! weiss jemand vielleiecht wie ich anhand mehreren Pfaden (die ich in einem Vector gespeichert habe) eine Ordnerstruktur daraus anzeigen kann ?

    zBsp :

    C:\Dokumente und Einstellungen\Desktop\Ordner1
    C:\Dokumente und Einstellungen\Desktop\Ordner1\subOrdner1
    C:\Dokumente und Einstellungen\Desktop\Ordner1\subOrdner1\subsubOrdner1
    C:\Dokumente und Einstellungen\Desktop\Ordner1\subOrdner1\subsubOrdner2
    C:\Dokumente und Einstellungen\Desktop\Ordner1\subOrdner1\subsubOrdner3
    C:\Dokumente und Einstellungen\Desktop\Ordner1\subOrdner2
    C:\Dokumente und Einstellungen\Desktop\Ordner1\subOrdner3
    C:\Dokumente und Einstellungen\Desktop\Ordner1\subOrdner3\subsubOrdner1
    C:\Dokumente und Einstellungen\Desktop\Ordner1\subOrdner3\subsubOrdner2
    C:\Dokumente und Einstellungen\Desktop\Ordner2
    C:\Dokumente und Einstellungen\Desktop\Ordner3

    dass ich das am ende so habe:

    - Ordner1
    -- subOrdner1
    ----- subsubOrdner1
    ----- subsubOrdner2
    ----- subsubOrdner3
    -- subOrdner2
    -- subOrdner3
    ----- subsubOrdner1
    ----- subsubOrdner2
    - Ordner2
    - Ordner3
    ...usw..

    Danke vielmals !
    Crombix.
     

  2. #2
    Avatar von vfl_freak
    vfl_freak vfl_freak ist offline Mitglied Diamant
    Registriert seit
    Aug 2007
    Ort
    Niedersachsen
    Beiträge
    2.161
    Moin,

    KA, ob es eine schöne Lösung ist, aber so auf die Schnelle :

    zeilenweise:
    (a) ersetze "C:\Dokumente und Einstellungen\Desktop\" durch "-"
    (b) zähle alle weiteren "\" und schreibe entsprechend viele "-" dazu und danach den restlichen Pfad

    Gruß
    Klaus
     
    Es ist noch kein Meister vom Himmel gefallen - sonst hätte man schon längst seine Leiche gefunden !!

    Falls ich helfen konnte, wäre eine Bewertung oder ein Danke nett ;-)
    -------------------------------------------------------------------------------------------------
    Ich beantworte keine Fragen per PN !!
    Stellt Eure Fragen im Forum - dann haben alle etwas davon !!

  3. #3
    crombix crombix ist offline Mitglied
    Registriert seit
    Oct 2010
    Beiträge
    17
    Hi Klaus,
    danke für die Antwort, ich wollte das aber als richtige Tree darstellt haben mit Parent und Child-Abhängigkeiten !!
    LG
    Crombix.
     

  4. #4
    Avatar von vfl_freak
    vfl_freak vfl_freak ist offline Mitglied Diamant
    Registriert seit
    Aug 2007
    Ort
    Niedersachsen
    Beiträge
    2.161
    Moin,

    aha, d. h. Dein Vektor ist nicht so sortiert gefüllt
    Zitat Zitat von crombix Beitrag anzeigen
    C:\Dokumente und Einstellungen\Desktop\Ordner1
    C:\Dokumente und Einstellungen\Desktop\Ordner1\subOrdner1
    C:\Dokumente und Einstellungen\Desktop\Ordner1\subOrdner1\subsubOrdner1
    C:\Dokumente und Einstellungen\Desktop\Ordner1\subOrdner1\subsubOrdner2
    C:\Dokumente und Einstellungen\Desktop\Ordner1\subOrdner1\subsubOrdner3
    C:\Dokumente und Einstellungen\Desktop\Ordner1\subOrdner2
    C:\Dokumente und Einstellungen\Desktop\Ordner1\subOrdner3
    C:\Dokumente und Einstellungen\Desktop\Ordner1\subOrdner3\subsubOrdner1
    C:\Dokumente und Einstellungen\Desktop\Ordner1\subOrdner3\subsubOrdner2
    C:\Dokumente und Einstellungen\Desktop\Ordner2
    C:\Dokumente und Einstellungen\Desktop\Ordner3
    Muss es unbedingt Vektor ein Vektor sein?
    Alternativen wären sonst sortedList oder Collections ...

    Den Rest wirst Du dann wohl eh' selbst programmieren müssen

    Gruß
    Klaus
     
    Es ist noch kein Meister vom Himmel gefallen - sonst hätte man schon längst seine Leiche gefunden !!

    Falls ich helfen konnte, wäre eine Bewertung oder ein Danke nett ;-)
    -------------------------------------------------------------------------------------------------
    Ich beantworte keine Fragen per PN !!
    Stellt Eure Fragen im Forum - dann haben alle etwas davon !!

  5. #5
    crombix crombix ist offline Mitglied
    Registriert seit
    Oct 2010
    Beiträge
    17
    Hi,
    es ist schon sortiert ! also es kommt zuerst der Parent, dann sein kinder, usw..
    Ich hab ein vektor genommen, weil ich die als Files speichern wollte, somit kann ich wenn ich auf ein Element vom vector zugreife, auch andere Informationen davon haben wie getName() oder getParent() usw.. als Strings nur nützt mir nix !!
    Gruß,
    Crombix.
     

  6. #6
    Avatar von vfl_freak
    vfl_freak vfl_freak ist offline Mitglied Diamant
    Registriert seit
    Aug 2007
    Ort
    Niedersachsen
    Beiträge
    2.161
    Moin,

    aha - also kein String-Vektor ("Vektor<String>") .....
    Von welchem generischen Typ ist denn Dein Vektor

    Gruß
    Klaus
     
    Es ist noch kein Meister vom Himmel gefallen - sonst hätte man schon längst seine Leiche gefunden !!

    Falls ich helfen konnte, wäre eine Bewertung oder ein Danke nett ;-)
    -------------------------------------------------------------------------------------------------
    Ich beantworte keine Fragen per PN !!
    Stellt Eure Fragen im Forum - dann haben alle etwas davon !!

  7. #7
    crombix crombix ist offline Mitglied
    Registriert seit
    Oct 2010
    Beiträge
    17
    Hi,
    ich hab eine Methode geschrieben, welche den Root-Ordner als Parameter bekommt, und mir dann ein
    Vector<File> zurückgibt mit allen Files (subOrdner von Root) die ich brauche ! und das ganze möchte ich gerne in einer View anzeigen als Tree.. Das krieg ich aber noch nicht ganz hin, das muss eine schlaue rekursive methode sein !!
    Grus,
    crombix
     

  8. #8
    DarkWizzard DarkWizzard ist offline Mitglied Bronze
    Registriert seit
    Jan 2009
    Ort
    Braunschweig (Ni)
    Beiträge
    32
    Hi,
    wenn ich dich richtig verstehe hast du alle Files, also auch die Unterordner der Unterordner des Root-Ordners und so. Ich würde an deiner Stelle das alles nicht in einen Vector sondern in einen Tree einordnen, dann hast du schon fast die Lösung für dein Problem. Und schöner ists sowieso

    Du musst dann nur rekursiv alle Pfade ausgeben und für jede Ebene die ein File tief liegt eine bestimmte Anzahl Leerzeichen oder so vor die Ausgabe machen.

    MfG,
    DarkWizzard
     

  9. #9
    crombix crombix ist offline Mitglied
    Registriert seit
    Oct 2010
    Beiträge
    17
    Hi, danke erstmal für die Antwort !
    Vom Vector hab ich schon versucht eine Tree zu basteln, aber was ich nicht hinbekommen habe, ist dass es so rekursiv ist, dass ich auch alle unterordner angezeigt bekomme ! Kannst du vielleicht ein Beispiel geben wie mit einer Methode rekursiv ein Baum erstellt wird ?
    LG
    Crombix.
     

  10. #10
    DarkWizzard DarkWizzard ist offline Mitglied Bronze
    Registriert seit
    Jan 2009
    Ort
    Braunschweig (Ni)
    Beiträge
    32
    Hi, ich hab das auf die Schnelle mal so gemacht:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    
    import java.io.File;
     
    public class TreeNode  {
        TreeNode[] content;
        String path;
     
        public TreeNode(String path) {
            this.path = path;
            File file = new File(path);
            String contentPaths[] = file.list();
            if(contentPaths!=null) {
                content = new TreeNode[contentPaths.length];
                for(int i=0; i<content.length; i++) {
                    content[i] = new TreeNode(path+"/"+cPath);
                }
            }
        }
        
        @Override
        public String toString() {
            String result = path;
            if(content!=null) {
                for(TreeNode node: content) {
                    result += System.getProperty("line.separator") + node.toString("  ");
                }
            }
            return result;
        }
        
        public String toString(String pre) {
            String result = pre + path;
            if(content!=null) {
                for(TreeNode node: content) {
                    result += System.getProperty("line.separator") + node.toString(pre + "  ");
                }
            }
            return result;
        }
    }



    Benutzt werden kann das dann einfach so:

    Code :
    1
    2
    3
    4
    5
    6
    
    public class UseExample {
        public static void main(String[] args) {
            TreeNode root = new TreeNode("D:/plugins");
            System.out.println(root.toString());
        }
    }
    Geändert von DarkWizzard (27.10.10 um 14:11 Uhr)
     

Ähnliche Themen

  1. [MS-SQL] Erstellung einer Sicht
    Von vschris im Forum Relationale Datenbanksysteme
    Antworten: 6
    Letzter Beitrag: 19.04.10, 11:16
  2. [C#] Problem bei der Erstellung einer XML
    Von Erks im Forum .NET Café
    Antworten: 2
    Letzter Beitrag: 14.06.09, 20:38
  3. Frage zur Erstellung einer exe
    Von tamy im Forum Borland CBuilder und VCL
    Antworten: 5
    Letzter Beitrag: 31.01.08, 22:26
  4. Problem bei der Erstellung einer DLL
    Von nitgun im Forum C/C++
    Antworten: 6
    Letzter Beitrag: 06.05.07, 20:17
  5. Erstellung einer Schallplatte
    Von Xo-mate im Forum Cinema 4D
    Antworten: 3
    Letzter Beitrag: 05.01.07, 09:59