webForumDet fria alternativet

Räkna filer i en katalog

Javaur Java

1 svar · 355 visningar · startad av me01avd

me01avdMedlem sedan apr. 200418 inlägg
#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!

LimeMedlem 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"));
128 ms totalt · 3 externa anrop · v20260731065814-full.29ac60f6
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)