2012-12-05 49 views
0

我正在編寫一個應該檢查文件夾中最後一個文件是否爲一天的方法。獲取上次修改文件的日期

private void checkForPhotoDelete() { 
     File directory = new File("/sdcard/LC/images"); 
     File[] files = directory.listFiles(); 
     if(files.length>0){ 
      File lastFile = files[files.length-1]; 
      Date lastMod = new Date(lastFile.lastModified()); 

      Calendar calendar = Calendar.getInstance(); 
      int today = calendar.get(Calendar.DAY_OF_WEEK); 
      Log.v("last modified","Last Modified Date : "+lastMod.getDay() + " vs "+today); 
     } 
     // TODO Auto-generated method stub 

    } 

問題是我的文件是在星期二最後修改,今天是星期三。所以我希望我的日誌說:

「最後修改日期:3比4」

而是跟它2比4

+0

請不要將您的路徑硬編碼到設備的外部存儲器。您應該始終使用'Environment.getExternalStorageDirectory()'獲取根路徑。 – Devunwired

+0

我一直在一個項目,將永遠在同一個設備上..它不是爲市場,但感謝 – erik

回答

0

嘗試設置到calendar實例當前日期:

private void checkForPhotoDelete() { 
     File directory = new File("/sdcard/LC/images"); 
     File[] files = directory.listFiles(); 
     if(files.length>0){ 
      File lastFile = files[files.length-1]; 
      long lastMod = lastFile.lastModified(); 

      Calendar calendar = Calendar.getInstance(); 
      calendar.setTimeInMillis(System.currentTimeMillis()); 
      int today = calendar.get(Calendar.DAY_OF_WEEK); 
      calendar.setTimeInMillis(lastMod); 
      int lastModifyDay = calendar.get(Calendar.DAY_OF_WEEK); 
      Log.v("last modified","Last Modified Date : "+ lastModifyDay + " vs "+today); 
     } 
     // TODO Auto-generated method stub 

    } 
+0

試圖..相同的結果 – erik

+0

日曆是給予正確的一天詮釋我想也許lastmodified getDay返回一個不同的日子集? – erik

+0

看到我的編輯.... – Blackbelt

相關問題