मैं एक तृतीय पक्ष लाइब्रेरी का उपयोग कर रहा हूं जो मूल रूप से विभिन्न प्रकार की फाइलों और उपनिर्देशिकाओं के साथ एक आउटपुट निर्देशिका बनाता है। मैं यह पुष्टि करने के लिए यूनिट परीक्षण लिखने में सक्षम होना चाहता हूं कि आउटपुट सही है।java.io. * एपीआई के साथ उपयोग करने के लिए जावा रैम डिस्क बनाया जा सकता है?
मैं रैम डिस्क के साथ lib का उपयोग करने में सक्षम होना चाहता हूं, ताकि लाइब्रेरी कुछ भी वास्तविक डिस्क प्लेटों को किसी भी तरह से छूने में सक्षम न हो। विचार है कि परीक्षण चलाने और साफ करने के लिए परीक्षण करना बहुत मुश्किल है (रैम डिस्क ड्रॉप करें?)।
मेरे लिए उपलब्ध दो सबसे प्रमुख विकल्प Commons VFS और JSR 203 हैं। पूर्व मेरे लिए कोई उपयोग नहीं है क्योंकि मैं java.io. * एपीआई और कॉमन्स वीएफएस कक्षाओं का उपयोग करके चीजों को पारदर्शी रूप से काम करना चाहता हूं। बाद में इसे काट नहीं है क्योंकि मुझे जेडीके 6 के साथ करना है (यह जेडीके 7 का हिस्सा माना जाता है) और मुझे नहीं पता कि यह java.io. * के साथ सहजता से काम करेगा या नहीं (मैं नहीं चाहता इस पर शर्त लगा लो)।
other समाधान भी हैं, लेकिन मैं उन कारणों का उपयोग नहीं कर सकता क्योंकि मैं कॉमन्स वीएफएस का उपयोग नहीं कर सकता। प्रश्न में लाइब्रेरी की जटिलता के कारण मॉक्स सवाल से बाहर हैं।
मेरी लिनक्स मशीन पर, मैं आसानी से एक रैम ड्राइव बना सकता हूं और java.io. * एपीआई का उपयोग उसी तरह करता हूं जैसे मैं डिस्क पर फ़ाइलों के साथ करता हूं। बात यह है कि, मैं चाहता हूं कि यह क्रॉस-प्लेटफ़ॉर्म और अधिक विशेष रूप से डिस्क को बाहरी प्रक्रिया के बजाय परीक्षण प्रक्रिया का एक हिस्सा बनाने के लिए तैयार करे।
तो, क्या जावा में रैम ड्राइव पंजीकृत करने का कोई तरीका है जो मानक java.io. * एपीआई के साथ प्रयोग योग्य होगा?
जावा के बाहर क्यों नहीं दिखता है। ओएस स्तर पर एक रैम डिस्क बनाएं (उपकरण विन्डोज़ और लिनक्स के लिए मौजूद हैं) और बस अपनी लाइब्रेरी को पथ के रूप में दें। –
मैंने पहले ही समझाया है क्यों: मैं आदर्श रूप से प्रक्रिया को मंच-स्वतंत्र होना चाहता था। इसके अतिरिक्त, मैं एक पर्यावरण या किसी अन्य में रैम डिस्क को सेट अप और निपटाने के लिए बाहरी स्क्रिप्ट लिखने के बजाय, जावा में होने के लिए आवश्यक आवश्यक कोड पसंद करूंगा। –
क्या आपको कोई समाधान मिला है? जावा 7 या जावा 8 के लिए। – Jus12