2009-05-28 14 views
12

मुझे पता है कि File ऑब्जेक्ट का उपयोग करके हम File (यानी File.lastModified()) के लिए अंतिम संशोधित समय प्राप्त कर सकते हैं। लेकिन, जावा में File के लिए अंतिम एक्सेस समय प्राप्त करने की मेरी आवश्यकता है। मैं इसे कैसे लूं?फ़ाइल के लिए अंतिम एक्सेस समय प्राप्त करें

javaxt.io.File file = new javaxt.io.File("path"); 
file.getLastAccessTime(); 

या, यदि आप जावा है:

+3

ध्यान रखें कि यह जानकारी विश्वसनीय नहीं है। लोग (स्वयं शामिल) आमतौर पर एटिम बंद कर देते हैं क्योंकि यह डिस्क एक्सेस को बहुत तेज़ करता है। लोग इसे सर्वर पर भी करते हैं। – cletus

+0

मैं दूसरा क्लेटस करूंगा। जब मैंने एसएसडी ड्राइव खरीदा तो मैंने अपने विनएक्सपी पर एनीम चालू कर दिया। वह एसएसडी यादृच्छिक लिखने के साथ अच्छा नहीं था, और अंतिम पहुंच के समय को अद्यतन करना अन्यथा केवल पढ़ने के लिए ऑपरेशन पर मेरी मशीन को मार रहा था। –

उत्तर

12

आपको जावा 7 के साथ आने वाले the new file I/O API (NIO2) का उपयोग करने की आवश्यकता होगी। इसमें अंतिम पहुंच समय पढ़ने के लिए lastAccessTime() है।

Path file = ... 
BasicFileAttributes attrs = Files.readAttributes(file, BasicFileAttributes.class); 
FileTime time = attrs.lastAccessTime(); 

अधिक जानकारी के लिए जावा ट्यूटोरियल में Managing Metadata देखें:

यहाँ एक के उपयोग का उदाहरण है।

+0

मैं जानना चाहता हूं कि जावा 7 को अंतिम एक्सेस समय कैसे मिलता है। – randeepsp

+0

जावा 7 कुछ ओएस विशिष्ट फ़ंक्शन का उपयोग करके ऑपरेटिंग सिस्टम से इसकी मांग करता है। क्या आप यही पूछना चाहते हैं? मैंने उदाहरण प्राप्त करने के लिए जावा 7 को * समय * प्राप्त करने के लिए कैसे उपयोग किया जा सकता है इसका एक उदाहरण जोड़ा है। –

+0

BasicFileAttributes को हल नहीं किया जा सकता है। मैं जावा 1.8 का उपयोग कर रहा हूँ। क्या गलत हो सकता है? –

4

आप सादे जावा के साथ यह नहीं कर सकते, तो आप इस जैसे मंच विशिष्ट डेटा को एक्सेस करने के लिए JNI का उपयोग करें या इस तरह का extensions to the core Java library का उपयोग करना होगा 7, एस्को के जवाब के साथ जाओ और एनआईओ का उपयोग करें।

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