我正在尝试通过Unix中的Java程序访问打印机(连接到Windows并与网络共享的条形码贴纸打印机)。 我可以通过Unix脚本使用smb客户端并打印贴纸并尝试使用Java进行相同操作。 我能够访问机器并显示可用的服务,这些服务也显示打印机的详细信息。 当我尝试通过流使用写入时,我收到错误jcifs.smb.SmbException:参数不正确。 在这个问题上没有从网上获得太多信息。代码段如下
SmbFile smbFile;
smbFile = new SmbFile(path);
System.out.println("Type == "+smbFile.getType());
SmbFileOutputStream smbfos = new SmbFileOutputStream(smbFile); smbfos.write(getContent().getBytes());
SmbFileOutputStream smbfos = new SmbFileOutputStream(smbFile);此行引发错误。 stacktrace如下所示
jcifs.smb.SmbException: The parameter is incorrect. at jcifs.smb.SmbTransport.checkStatus(SmbTransport.java:563) at jcifs.smb.SmbTransport.send(SmbTransport.java:663) at jcifs.smb.SmbSession.send(SmbSession.java:238) at jcifs.smb.SmbTree.send(SmbTree.java:119) at jcifs.smb.SmbFile.send(SmbFile.java:775) at jcifs.smb.SmbFile.open0(SmbFile.java:992) at jcifs.smb.SmbFile.open(SmbFile.java:1009) at jcifs.smb.SmbFileOutputStream.<init>(SmbFileOutputStream.java:142) at jcifs.smb.SmbFileOutputStream.<init>(SmbFileOutputStream.java:97) at jcifs.smb.SmbFileOutputStream.<init>(SmbFileOutputStream.java:67) at PrintJavaAPItest.printViaSimba(PrintJavaAPItest.java:127) at PrintJavaAPItest.main(PrintJavaAPItest.java:192)
感谢对此的任何意见。关心Vinod