Avatar billede yada Nybegynder
29. januar 2007 - 14:11

Traverser Filsystem på Mac med java

Jeg har lavet en trusted applet som traverserer en brugers filsystem og lister filer efter typer.

Dette fungerer fint i windows men på mac og linux ryger appletten ind i en uendelig løkke hvor den traverserer de samme mapper igen og igen og finder de samme filer.

Jeg har snuset mig lidt frem til at det evt har noget at gøre med symbolske links.

Jeg ville så høre om der er nogen der har erfaring med filsystemer i java som kan fortælle hvordan man evt kan bruge javas platform uafhængighed og lave det på den rigtige måde
så traverser metoden ikke kaldes hvis en fil er et symLink.

private void Traverse(File dir)
{
    FileInfo f = new FileInfo(dir);
    AccessController.doPrivileged(f);       
    File[] children = f.getChildren();       
    for(int i = 0; i<children.length; i++)
    {
        FileInfo file = new FileInfo(children[i]);
        try
        {                       
            AccessController.doPrivileged(file);
        }
        catch(Exception e)
        {
            //Output(e.toString()+" "+file.getPath());
        }
        all++;
        if(file.isDir)
        {
           
            try
            {
                Traverse(children[i]);
            }
            catch(Exception e){}
        }
        else
        {
            if(file.getPath()!=null)
            {                       
                String[] args = {isWindows+" "+file.getPath()+"", files+""};
                Output(args,"UpdateStatus");
                                   
            }                   
            try
            {
                if(FileIsOfType("jpg")
                {
                    filesCount++;
                }
            }
            catch(Exception e){}
        }
    }
   
}
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester