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.
Klik link berikut untuk informasi cara menyisipkan kode program supaya tampil rapi dan terformat dengan baik di diskusiweb.com: http://www.diskusiweb.com/discussion/50415/cara-menyisipkan-kode-program-di-diskusiweb-com

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 :)


Tagged:

Comments

  • 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.