Java读取文件创建时间和最后修改时间

  1. import java.io.BufferedReader;  
  2. import java.io.File;  
  3. import java.io.IOException;  
  4. import java.io.InputStream;  
  5. import java.io.InputStreamReader;  
  6. import java.text.SimpleDateFormat;  
  7. import java.util.Calendar;  
  8.   
  9. /** 
  10.  * 读取文件创建时间和最后修改时间 
  11.  */  
  12. public class ReadFileTime {  
  13.   
  14.     public static void main(String[] args) {  
  15.         getCreateTime();  
  16.         getModifiedTime_1();  
  17.         getModifiedTime_2();          
  18.     }  
  19.   
  20.     /** 
  21.      * 读取文件创建时间 
  22.      */  
  23.     public static void getCreateTime(){  
  24.         String filePath = "C:\\test.txt";  
  25.         String strTime = null;  
  26.         try {  
  27.             Process p = Runtime.getRuntime().exec("cmd /C dir "           
  28.                     + filePath  
  29.                     + "/tc" );  
  30.             InputStream is = p.getInputStream();   
  31.             BufferedReader br = new BufferedReader(new InputStreamReader(is));             
  32.             String line;  
  33.             while((line = br.readLine()) != null){  
  34.                 if(line.endsWith(".txt")){  
  35.                     strTime = line.substring(0,17);  
  36.                     break;  
  37.                 }                             
  38.              }   
  39.         } catch (IOException e) {  
  40.             e.printStackTrace();  
  41.         }         
  42.         System.out.println("创建时间    " + strTime);     
  43.         //输出:创建时间   2009-08-17  10:21  
  44.     }  
  45.     /** 
  46.      * 读取文件修改时间的方法1 
  47.      */   
  48.     @SuppressWarnings("deprecation")  
  49.     public static void getModifiedTime_1(){  
  50.         File f = new File("C:\\test.txt");              
  51.         Calendar cal = Calendar.getInstance();  
  52.         long time = f.lastModified();  
  53.         cal.setTimeInMillis(time);    
  54.         //此处toLocalString()方法是不推荐的,但是仍可输出  
  55.         System.out.println("修改时间[1] " + cal.getTime().toLocaleString());   
  56.         //输出:修改时间[1]    2009-8-17 10:32:38  
  57.     }  
  58.       
  59.     /** 
  60.      * 读取修改时间的方法2 
  61.      */  
  62.     public static void getModifiedTime_2(){  
  63.         File f = new File("C:\\test.txt");              
  64.         Calendar cal = Calendar.getInstance();  
  65.         long time = f.lastModified();  
  66.         SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");         
  67.         cal.setTimeInMillis(time);    
  68.         System.out.println("修改时间[2] " + formatter.format(cal.getTime()));     
  69.         //输出:修改时间[2]    2009-08-17 10:32:38  
  70.     }  
  71. }  
posted @ 2018-08-13 09:51  Graffiti  阅读(31805)  评论(0编辑  收藏  举报