package jp.dragon.ryumago; import java.io.File; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.Date; import java.util.List; /** * 指定ディレクトリのファイル一覧を取得し * ファイルの情報を出力するプログラム * * @author Ryumago * * この生成されたコメントの挿入されるテンプレートを変更するため * ウィンドウ > 設定 > Java > コード生成 > コードとコメント */ public class DirectoryView { public static void main(String[] args) { //指定ディレクトリパスを記述 String DirPath = "C:\\Sun\\WebServer6.1\\docs\\CSV"; File dir = new File(DirPath); File[] files = null; if (!dir.exists()) { System.out.println("ディレクトリが見つかりませんでした。"); } if (dir.isFile()) { System.out.println("これはファイルです。"); } if (dir.isDirectory()) { System.out.println("これはディレクトリです。"); files = dir.listFiles(); SortUtil sortUtil = new SortUtil(); List fileList = sortUtil.FileSort(files); for (int i = 0; i < fileList.size(); i++) { File file = ((File) fileList.get(i)); if (file.isFile()) { System.out.println("fileName : " + file.getName()); System.out.println("filePath : " + file.getPath()); System.out.println("fileSize : " + file.length()); Date date = new Date(file.lastModified()); SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 hh時mm分ss秒"); System.out.println("Date : " + date.toString()); System.out.println("Date : " + sdf.format(date)); System.out.println(""); } } } } } class SortUtil { public List FileSort(File[] files) { List list = new ArrayList(); for (int i = 0; i < files.length; i++) { list.add(files[i]); } Collections.sort(list, new DateSortDesc()); return list; } class DateSortDesc implements Comparator { public int compare(Object obj1, Object obj2) { int ret = 0; Long d1; Long d2; d1 = new Long(((File) obj1).lastModified()); d2 = new Long(((File) obj2).lastModified()); ret = d1.compareTo(d2); return ret * (-1); } } }