2010-11-04 11 views
18

मैं अगर एक फ़ाइल पहले से मौजूद देख सकते हैं और अपने टाइमस्टैम्प प्राप्त करने के लिए इस का उपयोग कर रहा: (भले ही मैं देख सकता हूँ कि इस फाइल वास्तव में Context.fileList का उपयोग कर मौजूद हैहो रही एक फ़ाइल के अंतिम संशोधन तिथि

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

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

) विधि, ऊपर दिया गया कोड हमेशा कहता है कि यह नहीं करता है।

मैं फ़ाइल की अंतिम संशोधित दिनांक कैसे प्राप्त कर सकता हूं?

+1

यहां आपकी समस्या क्या है? वह file.exists() विफल रहता है? – EboMike

+0

file.exists() झूठी लौट रहा है। जब भी मैं file.lastModified() को कॉल करता हूं तो यह शून्य लौटाता है। फ़ाइल नाम स्ट्रिंग किसी भी पथ जानकारी के बिना "myfile.txt" जैसे नाम है। – Tom

उत्तर

11

मुझे यह समस्या है कि file.exists() विफल रहता है, संशोधित तिथि के साथ समस्या के साथ इसका कोई लेना-देना नहीं है।

मैं यह अनुमान लगाता हूं कि आप जिस पथ का उपयोग कर रहे हैं वह आपके आवेदन के लिए स्थानीय है? File का उपयोग करते समय आपको पूर्ण पथों का उपयोग करने की आवश्यकता होगी।

+2

यह वास्तव में एक पथ समस्या थी। समाधान फ़ाइल ऑब्जेक्ट प्राप्त करने के लिए Context.getFileStreamPath (fileName) का उपयोग करना था। फिर file.exists() और file.lastModified() विधियों ने ठीक काम किया। पारितोषिक के लिए धन्यवाद। – Tom

+1

मदद करने के लिए खुशी हुई! यह पथक बात एक आम गड़बड़ी है। – EboMike

1
पथ

यदि u गलत पथ भेजने के लिए

उपयोग इस तो यू हमेशा 0 मिल जाएगा या 1970 कुछ! (क्योंकि Google सेट उस तारीख की आरंभ तिथि :))

File file = new File(this.getFilesDir().getAbsolutePath() + "/file1.jpg"); 
+8

वास्तव में यह "Google" नहीं था जिसने उस तारीख को सेट किया था, बल्कि यूनिक्स टाइमस्टैम्प कैसे बनाया गया है इसकी प्रकृति - http://en.wikipedia.org/wiki/Unix_time देखें – PureSpider

संबंधित मुद्दे