16. marts 2002 - 11:36Der er
4 kommentarer og 1 løsning
Path til træ-struktur
Jeg vil give et path til et JTree, f.eks. C:\Dokumenter\Internet\Mathis hvorefter mit JTree viser alle filer i det bibliotek + alle filer i alle underbiblioteker.
Jeg er så småt begyndt at udvikle en algortime til det med en masse arrays og vectorer - men jo mere jeg laver, jo længere finder jeg ud af det tager.
Jeg har ledt i API efter noget der ligner - har jeg måske overset noget? Eller sidder der måske nogen derude som har lavet det jeg leder efter?
lav en rekursiv algoritme som scanner alle dirs ud fra et bestemt punkt.
Du starter f.eks. med en tom arraylist. Hvis du møder et dir, indsætter du et object som indeholder en ny arraylist, for at scanne denne kalder du den oprindelige rutine men med en ny start pos. Møder du en fil, indsætter du et object der indeholder filens navn, og evt. andet data.
Bagefter kører du bare denne arrayliste struktur igennem for at generere dit JTree, det skulle ikke tage længere tid, end en
'dir /s' går i dos (okay en lille smule mere, men ikke lang tid
Du kan måske få ideer fra denne her, som kopierer et helt dir og alt derunder over til et nyt sted.
/** * * @author reinke * @version */ public class dirMove extends Object { /** The error code */ private int error=0;
File sourceDir,destDir;
public dirMove() { }
/** Moves directory from source to dest including everything beneath it * @param source The filepath to the source directory * @param dest The filepath to the destination * @return According to result of the moving of the directory */ public boolean move(String source, String dest) { //check if either source or dest is empty or null if ( (source.trim().length()==0) || (source==null) || (dest.trim().length()==0) || (dest==null) ) { error=1; return false; }
/** Returns the error text according to the value of 'error' * @return String containing the Error Text according to the value of {@link error} */ public String getError() { if(error==1) return "source eller dest er tom"; if(error==2) return "source er ikke en directory"; if(error==3) return "destination findes allerede!!!"; if(error==4) return "Could not create Directory"; if(error==5) return "File copy failed"; return ""; } }
Du skal have tak for din tid, disky, men det hjælper mig ikke. Spørgsmålet gik jo netop på hvordan jeg undgik at lave en kæmpealgoritme, ikke hvordan jeg laver algoritmen.
(det er ikke det jeg leder efter, og jeg havde også selv fundet det tidligere, men det lader ikke til andre har et bud)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.