我大约11年前开发了一个Java POS系统,目前仍在Windows XP和Vista机器上运行。我正在将它们更新到Windows 7,但现在打印到Star Micronics热敏收据打印机时出现问题。
以下是代码行,当XP和Vista机器在网络上访问共享打印机时可以正常工作,但是当我尝试在连接到Windows 7框的打印机上打印时,会出现“java.io.FileNotFoundException(访问被拒绝)”的错误信息。
现在,在这种情况下,机器2(无论它是Windows XP、Vista还是7)试图通过我的Java程序在连接到机器1(Windows 7)的收据打印机上打印。如果我尝试从机器2上的记事本打印普通文本文件在机器1上可以正常工作。只有在上述行中使用我的Java时才会失败。再次说明,如果机器1和机器2都是Windows XP或Vista,则没有问题,这已经运行了11年。
我认为这必须是与Windows 7权限有关的问题,但我不确定具体是什么问题。请记住,第二台机器可以看到Windows 7机器上的打印机并打印。仅当使用我的Java程序时才会出现此问题。我可以尝试重写我的旧代码来打印,但我担心会遇到类似的问题。
有什么建议吗?
以下是代码行,当XP和Vista机器在网络上访问共享打印机时可以正常工作,但是当我尝试在连接到Windows 7框的打印机上打印时,会出现“java.io.FileNotFoundException(访问被拒绝)”的错误信息。
FileOutputStream fos = new FileOutputStream("\\\\machine1\\printer");
现在,在这种情况下,机器2(无论它是Windows XP、Vista还是7)试图通过我的Java程序在连接到机器1(Windows 7)的收据打印机上打印。如果我尝试从机器2上的记事本打印普通文本文件在机器1上可以正常工作。只有在上述行中使用我的Java时才会失败。再次说明,如果机器1和机器2都是Windows XP或Vista,则没有问题,这已经运行了11年。
我认为这必须是与Windows 7权限有关的问题,但我不确定具体是什么问题。请记住,第二台机器可以看到Windows 7机器上的打印机并打印。仅当使用我的Java程序时才会出现此问题。我可以尝试重写我的旧代码来打印,但我担心会遇到类似的问题。
有什么建议吗?