2014-09-09 2 views
6

का उपयोग किये बिना डिस्क पर लिखना मान लीजिए java.io का उपयोग अवरुद्ध कर दिया गया है। लिखने के कुछ वैकल्पिक तरीके क्या हैं, जावा/ग्रोवी भाषा सुविधाओं का उपयोग करके डिस्क पर एक सरल "Hello World!" टेक्स्ट फ़ाइल कहें?java.io

+0

आप eludicate सकते हैं कि "java.io अवरुद्ध कर दिया गया" का अर्थ है? यह कैसे अवरुद्ध किया गया था? 'SecurityManager'? 'अनुमति' का उपयोग करना? – icza

+0

@icza ग्रोवी के सिक्योरएस्ट कस्टमाइज़र के उपयोग के माध्यम से, सभी java.io आयात को अवरुद्ध कर रहा है। – kinbiko

+0

क्या आप पुष्टि कर सकते हैं कि 'java.nio.Files' की अनुमति है या नहीं? – icza

उत्तर

4

अगर केवल java.io अवरुद्ध कर दिया गया (आप ने कहा java.io आयात ब्लॉक किए गए हैं), तो आपको java.nio उपयोग कर सकते हैं फ़ाइलों को लिखने के लिए।

केंद्रीय Files कक्षा को देखें। java.nio फ़ाइलों/फ़ोल्डर्स को java.nio.Path ऑब्जेक्ट्स के साथ दर्शाया गया है जो java.nio पैकेज (और java.io नहीं) का भी हिस्सा है।

उदाहरण डिस्क के लिए एक पाठ फ़ाइल में "Hello World!" लेखन:

Files.write(Paths.get("/your/folder/text.txt"), 
    "Hello World!".getBytes(StandardCharsets.UTF_8)); 

// Or 
Files.write(Paths.get("/your/folder/text.txt"), 
    Arrays.asList("Hello World!"), StandardCharsets.UTF_8); 
+1

नहीं। जावा एनओओ आंतरिक रूप से java.io का उपयोग करता है। – BackSlash

+0

सवाल यह है कि कैसे 'java.io' अवरुद्ध किया गया था। प्रश्नकर्ता ने कहा कि 'java.io' आयात अवरुद्ध हैं, इस मामले में यह काम करेगा। – icza

+1

यह काम नहीं करेगा, क्योंकि जावा एनआईओ java.io का उपयोग करता है। यदि java.io अवरुद्ध है, जावा एनआईओ काम नहीं कर सकता है। – BackSlash

3

जेएनआई सीधे अंतर्निहित ओएस एपीआई से बात करने के लिए।

+1

नहीं। जेएनआई लोडिंग आंतरिक रूप से java.io का उपयोग करता है। – BackSlash

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

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