Java PrintService是否忽略PrinterUri属性?

Java PrintService是否忽略PrinterUri属性?,java,attributes,postscript,printers,ipp-protocol,Java,Attributes,Postscript,Printers,Ipp Protocol,我使用以下代码将打印作业发送到特定打印机: PrintServiceAttributeSet aset = new HashPrintServiceAttributeSet(); try { aset.add(new PrinterURI(new URI("ipp://hostName/printerName"))); } catch (URISyntaxException e) { System.out.println(

我使用以下代码将打印作业发送到特定打印机:

PrintServiceAttributeSet aset = new HashPrintServiceAttributeSet();
     try {
            aset.add(new PrinterURI(new URI("ipp://hostName/printerName")));
        } catch (URISyntaxException e) {
            System.out.println("URI exception caught: "+e);
        }
        PrintService[] services =
            PrintServiceLookup.lookupPrintServices(DocFlavor.INPUT_STREAM.POSTSCRIPT,aset);  
Strangley,我得到9个查找结果(=该特定主机上的所有可用打印机)-而只有第一个结果是我正在查找的结果。 我在printservicejavadocs和web上进行了搜索,但没有找到任何相关信息

PrintServiceLookup不应该只返回与我的请求匹配的打印机吗?(本例中为一台打印机)


提前谢谢

结果表明,我使用的URI是错误的(但语法有效,因此没有引发异常)。
所以在回答我最初的问题时——Java PrintService忽略了一个错误的属性(与我的预期相反,PrintService在属性错误的情况下不会返回结果)


无论如何,谢谢你

很自然,我对这个问题有一个解决办法:在结果中搜索所需的打印机。然而,我仍然不明白为什么我会得到不止一个答案。我用
DocFlavor.INPUT\u STREAM.POSTSCRIPT测试了同样的代码,但没有
PrinterUri
属性,得到了同样的9个结果-似乎
PrintServiceAttributeSet
被忽略了…正确的ipp:格式如何,我无法访问像\\PSCPARKP01\CP\u P1\u OKI20\u 2这样的优先级