java IO:取得檔案或目錄資訊(是否為檔案/目錄,檔案大小,最後修改日期)
阿新 • • 發佈:2018-12-14
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將其轉換為常見格式。