2010-11-04 25 views
18
Bir dosya zaten var olmadığını görmek ve zaman damgasını almak için bu kullanıyorum

: Ben bu dosyayı gerçekten Context.fileList kullanarak var olmadığını görebilirsiniz olsa (Getting Dosyanın son değişiklik tarihi

File file = new File(getResources().getString(R.string.file_name)); 

if (file.exists()) { 
    Date lastModified = new Date(file.lastModified()); 
} 

) yöntemi, yukarıdaki kod her zaman olmadığını söylüyor.

Dosyanın son değiştirilme tarihini nasıl alabilirim?

+1

Sorununuz nedir? Bu dosya.exists() başarısız? – EboMike

+0

dosya.exists() yanlış döndürüyor. Ne zaman file.lastModified() çağırırsa sıfır döner. Dosya adı dizesi, herhangi bir yol bilgisi olmaksızın "myfile.txt" gibi bir addır. – Tom

cevap

11

Sorununuzu çözmeniz, file.exists() hatalarının düzeltilmesidir, değiştirilen tarih ile ilgili sorunun onunla hiçbir ilgisi yoktur.

Kullandığınız yolun uygulamanız için yerel olduğunu düşünüyor muyum? File kullanırken mutlak yollar kullanmanız gerekir. yolun

u geçersiz yolunu gönderirseniz

için

+2

Gerçekten de bir yol problemiydi. Çözüm, File nesnesini almak için Context.getFileStreamPath (fileName) kullanmaktı. Sonra file.exists() ve file.lastModified() yöntemleri iyi çalıştı. Bahşiş için teşekkürler. – Tom

+1

Yardımlardan memnun oldum! Bu yol verici şey, yaygın bir tuzaktır. – EboMike

1

kullanın bu sonra u her zaman 0 almak ya 1970 şey olacak! (Google, başlangıç ​​tarihini o tarihe ayarladıktan sonra :))

+8

Aslında bu tarihi ayarlayan "Google" değil, unix zaman damgalarının nasıl yapıldığının doğası değil - bkz. Http://en.wikipedia.org/wiki/Unix_time – PureSpider

İlgili konular