java - कैसे एक फ़ाइल जावा में एक सरणी लिखने के लिए




arrays file (4)

मैं एक फ़ाइल में सरणी लिखने का प्रयास कर रहा हूं। मैं जानता हूं कि एक फ़ाइल में पूर्णांक या स्ट्रिंग कैसे लिखूँ, लेकिन सरणी लाने के लिए मुझे भ्रमित करता है मैं अभी इस का उपयोग कर रहा हूँ:

public static void write (String file, int[]x) throws IOException{
    BufferedWriter outputWriter = null;
    outputWriter = new BufferedWriter(new FileWriter(filename));
    outputWriter.write("hi");// Here I know i cant just write x[0] or anything. Do i need 
                             //to loop in order to write the array?
    outputWriter.newLine();
    outputWriter.flush();  
    outputWriter.close();  



}

अगर आप अपाचे कॉमन्स लिब के साथ ठीक हैं

outputWriter.write(ArrayUtils.join(array, ","));

बस अपने सरणी में तत्वों पर लूप।

उदाहरण के लिए:

for(int i=0; numOfElements > i; i++)
{
outputWriter.write(array[i]);
}
//finish up down here

वस्तुओं को एक अंतर्निहित स्ट्रीम में लिखने के लिए आप ऑब्जेक्टऑटपुटस्ट्रीम वर्ग का उपयोग कर सकते हैं।

outputStream = new ObjectOutputStream(new FileOutputStream(filename));
outputStream.writeObject(x);

और Object वापस पढ़ा -

inputStream = new ObjectInputStream(new FileInputStream(filename));
x = (int[])inputStream.readObject()

दूसरों की तरह, आप केवल सरणी के ऊपर लूप कर सकते हैं और तत्वों को एक-एक करके प्रिंट कर सकते हैं। "अक्षरों और प्रतीकों" के बजाए संख्या को दिखाने के लिए आउटपुट को दिखाने के लिए, आपको प्रत्येक तत्व को स्ट्रिंग में कनवर्ट करना होगा। तो आपका कोड ऐसा कुछ हो जाता है:

public static void write (String filename, int[]x) throws IOException{
  BufferedWriter outputWriter = null;
  outputWriter = new BufferedWriter(new FileWriter(filename));
  for (int i = 0; i < x.length; i++) {
    // Maybe:
    outputWriter.write(x[i]+"");
    // Or:
    outputWriter.write(Integer.toString(x[i]);
    outputWriter.newLine();
  }
  outputWriter.flush();  
  outputWriter.close();  
}

यदि आप [1, 2, 3, ....] तरह सरणी मुद्रित करना चाहते हैं, तो आप इस एक लाइनर के साथ पाश को बदल सकते हैं:

outputWriter.write(Arrays.toString(x));




bufferedwriter