在Java中按IP地址查找并打印到网络打印机

在Java中按IP地址查找并打印到网络打印机,java,sockets,printing,Java,Sockets,Printing,我已经读了很多类似的问题,但都没有得到任何进展 我要做的是通过IP直接连接到打印机(不是我的windows设备列表中的打印机)并向其打印文档 以下是我到目前为止所做的尝试(没有成功,不知道为什么): 我为你的问题找到了这个。您可以使用此代码尝试网络打印机 我也看到了很多例子,就像你的例子一样。所以我想可能是打印机的连接有问题 错误消息/堆栈跟踪是什么?请查看@chuchichaeschtli no exceptions抛出:/打印机的网络协议不是纯文本流。它比这复杂得多,这就是为什么您通常在操

我已经读了很多类似的问题,但都没有得到任何进展

我要做的是通过IP直接连接到打印机(不是我的windows设备列表中的打印机)并向其打印文档

以下是我到目前为止所做的尝试(没有成功,不知道为什么):


我为你的问题找到了这个。您可以使用此代码尝试网络打印机


我也看到了很多例子,就像你的例子一样。所以我想可能是打印机的连接有问题

错误消息/堆栈跟踪是什么?请查看@chuchichaeschtli no exceptions抛出:/打印机的网络协议不是纯文本流。它比这复杂得多,这就是为什么您通常在操作系统中使用打印机设备驱动程序来连接打印机的原因。
try{
    Socket sock = new Socket("1.2.3.4", 9100);
    PrintWriter oStream = new PrintWriter(sock.getOutputStream());
        oStream.println("Hello World");
        oStream.close();
        sock.close(); 
}
catch (UnknownHostException e){
    e.printStackTrace();
} 
catch (IOException e) { 
    e.printStackTrace();
}