अस्थायी आंतरिक फ़ाइलों के लिए उनके 2 विकल्प हैं
1।
File file;
file = File.createTempFile(filename, null, this.getCacheDir());
2।
File file
file = new File(this.getCacheDir(), filename);
दोनों विकल्प अनुप्रयोगों को कैश डायरेक्टरी में फाइल जोड़ते हैं और इस प्रकार आवश्यकता के अनुसार जगह बनाने के लिए साफ़ किया जा सकता है लेकिन विकल्प 1 फ़ाइल के अद्वितीय रखने के लिए फ़ाइल नाम के अंत में एक यादृच्छिक संख्या जोड़ देगा। यह एक फ़ाइल एक्सटेंशन भी जोड़ देगा जो .tmp
डिफ़ॉल्ट रूप से है, लेकिन इसे 2 पैरामीटर के उपयोग के माध्यम से कुछ भी सेट किया जा सकता है। यादृच्छिक संख्या के उपयोग का अर्थ है एक फ़ाइल नाम निर्दिष्ट करने के बावजूद यह उसी तरह नहीं रहता है जैसे संख्या प्रत्यय / फ़ाइल एक्सटेंशन ( .tmp
डिफ़ॉल्ट रूप से) के साथ जोड़ा जाता है जैसे आप अपना फ़ाइल नाम निर्दिष्ट करते हैं internal_file
और जैसे ही बाहर आता है internal_file1456345.tmp
। आप एक्सटेंशन को निर्दिष्ट कर सकते हैं, जबकि आप उस संख्या को निर्दिष्ट नहीं कर सकते हैं जो जोड़ी गई है। हालाँकि आप इसके द्वारा उत्पन्न फ़ाइल नाम पा सकते हैंfile.getName();
, लेकिन आपको इसे कहीं स्टोर करने की आवश्यकता होगी ताकि आप इसका उपयोग तब कर सकें जब आप उदाहरण के लिए फ़ाइल को हटाना या पढ़ना चाहते थे। इसलिए इस कारण से मैं दूसरा विकल्प पसंद करता हूं क्योंकि आपके द्वारा निर्दिष्ट फ़ाइल नाम जो बनाया गया है।