Tolong pilih kategori sesuai, jenis posting (pertanyaan atau bukan) dan sertakan tag/topik yang sesuai misal komputer, php, mysql, dll.
Promosi atau posting tidak pada tempatnya akan kami hapus.
Mencantumkan kode program di posting Anda, tolong ikuti aturan yang sesuai, baca http://diskusiweb.com/discussion/39204/aturan-cara-menyisipkan-kode-program-di-diskusiweb

Baca cara posting gambar/image di post Anda: http://www.diskusiweb.com/discussion/47345/cara-menyisipkan-menyertakan-image-pada-posting/p1

[ASK] JAVA : filter file dalam folder

salam kenal master2 JAVA :)

bagaimana cara memfilter file dalam sebuah folder...?
misalnya dalam sebuah folder D:\\Longtele  berisi data2 dengan format
Year-Month-Date-Hour-Minute-Second  sbb:

2013_03_03_11_18_03.txt
2013_03_03_18_18_31.txt
2013_08_04_09_18_28.txt
2013_03_04_00_18_23.txt
2013_03_04_23_18_23.txt
2013_03_03_11_18_31.txt
2013_07_07_24_18_23.txt
2013_03_07_11_18_23.txt
2013_12_07_18_18_23.txt
2013_11_09_12_18_23.txt
2013_03_03_11_11_23.txt
2013_12_09_11_17_23.txt
2013_03_10_21_18_23.txt

bagaimana cara kita memfilter hanya untuk menampilkan data pada tanggal 2013_03_03 saja...???

sebelumnya saya coba dengan FILENAMEFILTER dengan menggunakan PREFIX dan EXTENTION dari contoh2 code di web http://www.java2s.com

import java.io.File;
import java.io.FilenameFilter;

public class FilenamesFilter {
    public static void main(String[] args) {
        File MyDirectory            = new File("D:\\Longtele");
        FilenameFilter filefilter   = new FileListFilter("", "txt");
        File[] contents             = MyDirectory.listFiles(filefilter);
       
        for (File file : contents) {
            System.out.println(file + (file.isDirectory() ? "" : "" ));
        }
    }
}

class FileListFilter implements FilenameFilter {
    String prefix    = "20";
    String extension = ".";
  
    public FileListFilter(String prefix, String extension) {
        this.prefix     = prefix ;
        this.extension  = extension;
    }
   
    @Override
    public boolean accept(File directory, String filename) {
        boolean fileOK   = true;
        if (prefix       != null) {
            fileOK = filename.startsWith(prefix);
        }
        if (extension   != null) {
            fileOK = filename.endsWith(extension);
        }
        return fileOK;
    }
}


mohon penverahannya, makasih :)


Tanggapan

  • FilenameFilter filefilter   = new FileListFilter("2013_03_03", "txt");
  • udah dicoba sebelumnya seperti itu mas, masih kebaca semua filenya...
  • edited March 2013
    coba definisi class nya pake ini  :

    public class FileListFilter implements FilenameFilter {
      private String name;        // File name filter
      private String extension;   // File extension filter

      // Constructor
      public FileListFilter(String name, String extension) {
        this.name = name;
        this.extension = extension;
      }

      public boolean accept(File directory, String filename) {
        boolean fileOK = true;

        // If there is a name filter specified, check the file name
        if (name != null)
          fileOK &= filename.startsWith(name);

        // If there is an extension filter, check the file extension
        if (extension != null)
          fileOK &= filename.endsWith('.' + extension);

        return fileOK;
      }
    }
  • oke mas, makasih banget. sekali lagi anda berhasil memberi solusi untuk masalah saya. mantap...!!! :)

    saya tetap pake code saya, cuma yg membedakan dengan code punya mas hanya pada penambahan "&" pada baris fileOK &= filename.startsWith( prefix); :)
  • emang bedanya cuma itu ... :D
  • yups mas, ini lengkapnya....

    import java.io.File;
    import java.io.FilenameFilter;



    public class FilenamesFilter {
        public static void main(String[] args) {
            File MyDirectory            = new File("D:\\Longtele");
            FilenameFilter filefilter   = new FileListFilter("2013", "txt");
            File[] contents             = MyDirectory.listFiles(filefilter);
           
            for (File file : contents) {
                System.out.println(file + (file.isDirectory() ? "" : "" ));
            }
        }
    }

     class FileListFilter implements FilenameFilter {
        //String name      ;
        String prefix;
        String extension;
      
     
        public FileListFilter(String prefix, String extension) {
            //this.name       = name;
            this.prefix     = prefix;
            this.extension  = extension;
        }
       
         
        @Override
        public boolean accept(File directory, String filename) {
            boolean fileOK   = true;
            //if (name      != null) {
            //    fileOK = filename.startsWith(name);
            //}
            if (prefix       != null) {
                fileOK &= filename.startsWith( prefix);
            }
            if (extension   != null) {
                fileOK &= filename.endsWith("." + extension);
            }
            return fileOK;
        }
    }

    hehehehe makasih yaaa
Sign In or Register to comment.