Problemer med java.io.FilenameFilter
HejJeg forsøger at lære lidt om java.io, og ser lige nu på FilenameFilter som jeg skal bruge til at vise nogle filer i et directory. Jeg har fundet dette eksempel på Internet:
---SuffixFilter.java---
import java.io.File;
import java.io.FilenameFilter;
public class SuffixFilter implements FilenameFilter {
private static String suffix;
public SuffixFilter(String suffix)
{
this.suffix = "." + suffix;
}
public boolean accept(File dir, String name) {
return name.endsWith(this.suffix);
}
}
-----------------------
Så har jeg lavet en lille test som skal vise nogle filer i tre directories:
---Test.java---
import java.io.*;
public class Test
{
public Test()
{
}
public static void main(String[] args)
{
String pathBase = "/media";
SuffixFilter sfRA = new SuffixFilter("ra");
SuffixFilter sfMP3 = new SuffixFilter("mp3");
File RemaFile = new File(pathBase + "/rema/mp3");
String[] RemaFilenames = RemaFile.list(sfMP3);
File RemaUncutFile = new File(pathBase + "/rema/real");
String[] RemaUncutFilenames = RemaUncutFile.list(sfRA);
File JimiFile = new File(pathBase + "/jimi");
String[] JimiFilenames = JimiFile.list(sfMP3);
for (int i=0; i < RemaFilenames.length; i++) {
System.out.println(RemaFilenames[i] + "<br>");
}
for (int i=0; i < RemaUncutFilenames.length; i++) {
System.out.println(RemaUncutFilenames[i] + "<br>");
}
for (int i=0; i < JimiFilenames.length; i++) {
System.out.println(JimiFilenames[i] + "<br>");
}
System.out.println(RemaFilenames.length);
System.out.println(RemaUncutFilenames.length);
System.out.println(JimiFilenames.length);
}
}
---------------
Problemet er at RemaUncutFilenames.length bliver 0, så mine *.ra filer vises ikke. Det er bare det SuffixFilter jeg laver sist som bliver aktivt. Så min suffix static i "SuffixFilter.java" bliver overskrevet. Plz help.