निम्नलिखित दस्तावेज़ का उपयोग करना:अपाचे पीओआई - एसएक्सएसएसएफ: फाइल को आउटपुट से पहले खिड़की में नहीं चलती है?
SXSSF: http://poi.apache.org/spreadsheet/how-to.html#sxssf
इस साइट के अनुसार (पैकेज: org.apache.poi.xssf.streaming) XSSF का एक एपीआई संगत स्ट्रीमिंग का विस्तार किया जाना है तो जब बहुत बड़ी स्प्रेडशीट का उत्पादन किया जाना चाहिए, और ढेर अंतरिक्ष सीमित है। एसएक्सएसएसएफ स्लाइडिंग विंडो के भीतर मौजूद पंक्तियों तक पहुंच सीमित करके इसकी कम मेमोरी पदचिह्न प्राप्त करता है, जबकि एक्सएसएसएफ दस्तावेज़ में सभी पंक्तियों तक पहुंच प्रदान करता है। पुरानी पंक्तियां जो खिड़की में नहीं हैं, वे पहुंच में नहीं आती हैं, क्योंकि वे डिस्क पर लिखी जाती हैं।
हालांकि, प्रदान किए गए उदाहरण में कार्यपुस्तिका फ़ाइल फ़ाइल को फ़ाइल लिखने के पहले फ़ाइल स्थान देने से पहले फ्लश होता है।
public static void main(String[] args) throws Throwable {
Workbook wb = new SXSSFWorkbook(100); // keep 100 rows in memory, exceeding rows will be flushed to disk
Sheet sh = wb.createSheet();
for(int rownum = 0; rownum < 1000; rownum++){
Row row = sh.createRow(rownum);
for(int cellnum = 0; cellnum < 10; cellnum++){
Cell cell = row.createCell(cellnum);
String address = new CellReference(cell).formatAsString();
cell.setCellValue(address);
}
}
// Rows with rownum < 900 are flushed and not accessible
for(int rownum = 0; rownum < 900; rownum++){
Assert.assertNull(sh.getRow(rownum));
}
// ther last 100 rows are still in memory
for(int rownum = 900; rownum < 1000; rownum++){
Assert.assertNotNull(sh.getRow(rownum));
}
FileOutputStream out = new FileOutputStream("/temp/sxssf.xlsx");
wb.write(out);
out.close();
}
तो यह सवाल पूछता है, जहां फ़ाइल सिस्टम पर यह डेटा संग्रहीत कर रहा है? क्या यह सिर्फ डिफ़ॉल्ट temp निर्देशिका में एक temp फ़ाइल बना रहा है? क्या यह सभी/सबसे अधिक कार्यान्वयन के लिए सुरक्षित है?
धन्यवाद
बढ़िया! धन्यवाद .. –
आपके उत्तर के लिए धन्यवाद। जब अस्थायी फ़ाइल हटा दी जाती है? क्या यह प्रोग्राम समाप्ति में हटा दिया जाएगा? हम इसे मैन्युअल रूप से कैसे हटा सकते हैं? – user2625094
कक्षा SXSSFWorkbook निपटान() - डिस्क पर इस कार्यपुस्तिका का समर्थन करने वाली अस्थायी फ़ाइलों का निपटान करें। –