webForumDet fria alternativet

Räkna filer i en katalog

Java

1 svar · 357 visningar · startad av me01avd

Medlem sedan apr. 200418 inlägg
Frågan#1

Hej!

Någon som kan hjälpa mig med en funktion i Java som räknar antalet filer i en viss katalog (utan underkataloger).

Man ska kunna ange vad filerna börjar på, dvs "resultat_2_*.*". Jag har alltså en xml fil med ett visst namn, och till den följer ett antal andra filer med, med samma namn plus lite annat, och så filändelsen, doc, pdf, etc...

Tacksam för svar!

Medlem sedan sep. 2001961 inlägg
#2

me01avd skrev:

Hej!

Någon som kan hjälpa mig med en funktion i Java som räknar antalet filer i en viss katalog (utan underkataloger).

Man ska kunna ange vad filerna börjar på, dvs "resultat_2_*.*". Jag har alltså en xml fil med ett visst namn, och till den följer ett antal andra filer med, med samma namn plus lite annat, och så filändelsen, doc, pdf, etc...

Tacksam för svar!

Såhär något kanske...

import java.io.File;
import java.io.FileFilter;

public class NameFileFilter implements FileFilter {

	String name;
    String prefix;
	
	public NameFileFilter(String name, String prefix)
	{
		this.name = name;
        this.prefix = prefix;
	}
    /* (non-Javadoc)
     * @see javax.swing.filechooser.FileFilter#accept(java.io.File)
     */
    public boolean accept(File f)
    {
    	
        String name = f.getName();
        boolean result = false;
        
        if (name != null) {
            if((name.indexOf("_main") != -1))
                return false;
            
            result = (name.startsWith(name) && name.endsWith(prefix));
        	return result;
        
                   
        }

        return result;
    }

    /* (non-Javadoc)
     * @see javax.swing.filechooser.FileFilter#getDescription()
     */
    public String getDescription()
    {
        
        return "Filters out files that starts with " + name + " and have prefix " + prefix;
    }

}

Denna används såhär:

File dir = new File("C:\findmyfiles\");
// Find all files in dir that starts with resultat_2_ and have prefix pdf
File[] files = dir.listFiles(new NameFileFilter("resultat_2_", "pdf"));
256 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)