没有网络时共享打印机的FileOutputStream

时间:2012-11-23 00:38:31

标签: java networking printing network-printers

我在Windows XP下使用Java。为了在旧的Epson打印机上打印,我使用FileOutputStream。例如:

ostream = new FileOutputStream(printer);
pstream = new PrintStream(ostream);

//reset default settings
pstream.print(ESC);
pstream.print(AT);

要初始化FileOutputStream我使用打印机的网络名称,例如"\\Server\Printer"。如果计算机连接到网络,这可以正常工作,但如果没有可用的网络,我将收到FileNotFoundException消息“无法访问网络位置。有关网络故障排除的信息,请参阅Windows帮助” 。 Server是我正在运行该应用的计算机的名称。无论如何,如果我使用"\\localhost\Printer",我会得到同样的错误。

我尝试了Windows文件浏览器,看看我是否在那里遇到此错误,以防这是Windows的事情。如果我尝试输入一些本地共享文件夹(\\Server\Folder)而没有连接到网络,我会收到相同的错误。但是,如果我写\\Server\Printer,则文件浏览器会打开打印机。

那么,如果没有可用的网络,我该如何初始化FileOutputStream

编辑:我有几台打印机通过LPT1和USB端口连接到服务器。同一程序在其他计算机上运行,​​这就是我使用打印机共享名称的原因。但是,如果有人从网络上拔下服务器,我希望我的程序在服务器上继续正常工作。

我已经运行了多年,但是几天前我想换一个路由器,为此我断开了服务器。然后,我收到了这个错误,但是当打印机连接到服务器时,无论网络可用性如何,程序都应该在服务器上运行。

0 个答案:

没有答案