JAVA print en hel folder af billed filer
Hej eksperter,Jeg er Kunne godt tænke mig en lille app som kunne printe en hel folder af jpg billeder. Mit problem er at filerne variere i størelse fra 200kb til 1.5 mb. Har stykket noget kode sammen der printer en enkelt fil:
import javax.print.*;
import javax.print.attribute.*;
import java.io.*;
public class TestPrint {
public static void main(String args[]) throws Exception {
String filename = "C:\\IMAGES\\0000_001.jpg";
PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();
DocFlavor flavor = DocFlavor.INPUT_STREAM.JPEG;
PrintService printService[] = PrintServiceLookup.lookupPrintServices(flavor, pras);
PrintService defaultService = PrintServiceLookup.lookupDefaultPrintService();
//Printer dialog
PrintService service = ServiceUI.printDialog(null, 200, 200, printService, defaultService, flavor, pras);
if (service != null) {
DocPrintJob job = service.createPrintJob();
FileInputStream fis = new FileInputStream(filename);
DocAttributeSet das = new HashDocAttributeSet();
Doc doc = new SimpleDoc(fis, flavor, das);
job.print(doc, pras);
}
System.exit(0);
}
Så ved en fil på størelsen af ca 400kb kommer den op med OutOfMemoryException hvis jeg sætter den op til
"java -Xms12m -Xmx128m TestPrint" kan jeg godt få den skrevet ud. Hvad sker der så hvis jeg looper over alle filer i en folder med ca. 158 filer i? Og hvorfor er det så memory krævende?
