1. 程式人生 > >java IO:取得檔案或目錄資訊(是否為檔案/目錄,檔案大小,最後修改日期)

java IO:取得檔案或目錄資訊(是否為檔案/目錄,檔案大小,最後修改日期)

public class TestDemo3 {
    public static void main(String[] args) {
        File file=new File("h:"+File.separator+"my.exe");
        if (file.exists()){
            System.out.println("是否為檔案:"+file.isFile());
            System.out.println("是否為目錄:"+file.isDirectory());
            System.out.println("檔案大小:"+new BigDecimal((double)file.length()/1024/1024).divide(new BigDecimal(1),2,BigDecimal.ROUND_HALF_UP)+"M");
            System.out.println("上次修改時間:"+new SimpleDateFormat("YYYY-MMM-dd hh:MM:ss").format(new Date(file.lastModified())));
            System.out.println("上次修改時間:"+file.lastModified());
        }
    }
}

結果如下:

檔案大小:由於file.length()方法返回值為long,不夠精確,所以轉型為double,利用BigDecimal方法轉換為保留兩位小數的格式,其中BigDecimal(1),2,Bigdecimal.ROUND_HALF_UP,分別表示被除數,保留的位數,進位模式,本程式的僅為模式為向上進位。

最後修改時間:lastModified()方法返回值型別為long,先將其轉換為date型別,在利用SimpleDateFormate將其轉換為常見格式。