2014-02-21 7 views
0

Я хочу получить lastModified(), чтобы сравнить дату. Я делаю это:android, lastModified() is 1.1.1970

FileWriter file = new FileWriter(getFilesDir()+File.separator + "openliga.txt"); 
file.write(changeObj.toString()); 
file.flush(); 
file.close(); 

I Проверьте через DDMS и файловый браузер, файл существует!

затем

// Check the Time Stamp of the internal File 
File intfile = new File(getFilesDir()+File.separator + "openliga.txt"); 

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ"); 
String dateInt = sdf.format(intfile.lastModified()); 

Log.e("LastMod", String.valueOf(dateInt)); 

говорит мне:

Thu Jan 01 01:00:00 GMT+01:00 1970 

Можно ли, что андроид не найти файл? Зачем?

+0

Это выглядит, как он не может найти файл. 'Возвращает время последнего изменения этого файла, измеренное в миллисекундах с 1 января 1970 года, полночь. Возвращает 0, если файл не существует. ' – StuStirling

ответ

1

Вы не можете напрямую форматировать intfile.lastModified(), поскольку intfile.lastModified() - время в милли. Поэтому вам нужно добавить дату, а затем форматировать дату так, как вы хотите.

Редактировать: Также вам нужно проверить, существует ли файл или нет.

Попробуйте

if (intfile.exists()) { 

    long lastmodified = intfile.lastModified(); 
    Date date = new Date(); 
    date.setTime(lastmodified); 
    SimpleDateFormat postFormater = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ"); 

    String dateInt = postFormater.format(date); 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^