0

ファイルチューザーまたはファイルダイアログで現在の日付または必要な日付のファイルを取得するためのサンプルコードを教えてください? ファイルダイアログで日付でファイルをフィルタリングする必要がありますか?

4

1 に答える 1

1

まず、日付を使用する既存のファイル フィルターがあるかどうかわからないので、私にとって最善かつ迅速な解決策は、独自のフィルターを実装することでした。

public class DateFileFilter extends FileFilter  
{    
     public boolean accept(File file)  
     {   
          GregorianCalendar date = new GregorianCalendar();//I get the today value  

          GregorianCalendar fileDate = new GregorianCalendar();  
          fileDate.setTimeInMillis(file.lastModified());//Here I get date info of the file 

          //Compare the current month and year  
          //with the month and yearthe file was  
          //last modified  
          return (((date.get(GregorianCalendar.MONTH) ==  
                fileDate.get(GregorianCalendar.MONTH)) &&  
               (date.get(GregorianCalendar.YEAR)  ==  
                fileDate.get(GregorianCalendar.YEAR))) ||  
               file.isDirectory());  
    }   

    public String getDescription()  
    {  
        return "This is my filter for dates (:";  
    }  
}  

次に、フィルターを JFileChooser に追加できます。

JFileChooser jf = new JFileChooser();
jf.setFileFilter(/*HERE MY DATE FILTER*/);

ファイル ダイアログの場合、プロセスは次のようになります。

DateFileFilter filter = new DateFileFilter();
FileDialog dialog = new FileDialog(parent, "Choose File");   

        dialog.setFilenameFilter(filter);  

        dialog.show();  

        String selectedFile = dialog.getFile();   

しかし、「extend」を作成する代わりに「Filter」インターフェースを実装することもできると思います。

よろしくお願いします(:

于 2013-04-03T05:47:06.940 に答える