// vim:ts=4 import javax.print.PrintService; import javax.print.PrintServiceLookup; import javax.print.attribute.PrintServiceAttribute; import javax.print.attribute.standard.PrinterName; class printerListing { public static void main(String args[]) { PrintService[] services = PrintServiceLookup.lookupPrintServices(null, null); if (services.length==0) { System.out.println("No printers Found."); } else { int counter=1; while ( services[1] == null && counter <= 5) { System.out.println("Found a null entry -- retrying... (" + counter + "/5)"); services = PrintServiceLookup.lookupPrintServices(null, null); counter++; } for (int i=0 ; i < services.length; i++) { String sPrinterName = null; if (services[i] != null ) { PrintServiceAttribute attr = services[i].getAttribute(PrinterName.class); sPrinterName = ((PrinterName)attr).getValue(); System.out.println("Found printer: " + sPrinterName); } else { System.out.println("It was null at " + i); } } } } }