में एक अस्थायी फ़ाइल को लिखना मैं एक एपेंड मोड में एक अस्थायी फ़ाइल को लिखना चाहता हूं। मैं देखता हूं कि फ़ाइल बनाई गई है लेकिन स्ट्रिंगबफर का डेटा इसे लिखे नहीं जा रहा है। क्या कोई मुझे बता सकता है क्यों? कोड मैं लिखा है कृपया नीचे, लेखक बंद करने से पहले bw.flush()
कॉल करने के लिएजावा
public static void writeToFile(String pFilename, StringBuffer sb)
throws IOException {
String property = "java.io.tmpdir";
String tempDir = System.getProperty(property);
File dir = new File(tempDir);
File filename = File.createTempFile(pFilename, ".tmp", dir);
FileWriter fileWriter = new FileWriter(filename.getName(), true);
System.out.println(filename.getName());
BufferedWriter bw = new BufferedWriter(fileWriter);
bw.write(sb.toString());
bw.close();
}
आप कैसे जानते हैं कि डेटा इसे लिखे नहीं जा रहा है? [2-तर्क 'फ़ाइल # createTempFile() '] (http://docs.oracle.com/javase/7/docs/api/java/io/File.html#createTempFile%28java.lang.String,%20java .lang.String% 2 9) विधि, निर्देशिका को निर्दिष्ट करने के लिए कुछ भी नहीं करता है। –
@ मैट: फ़ाइल बनाई गई है लेकिन मुझे फ़ाइल में कोई डेटा नहीं दिख रहा है और यह यादृच्छिक संख्या उत्पन्न किए बिना बनाई गई फ़ाइलों के लिए भी संभव है। – user1688404
क्या आप वाकई अपनी स्ट्रिंगबफर सामग्री के साथ कोई त्रुटि नहीं हैं? कोशिश करें और लिखें "हैलो, वर्ल्ड!" फ़ाइल के लिए स्ट्रिंग। –