有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

macos从mac java向打印机发送文件

我编写了这个小型java程序,将文件直接发送到打印机进行打印:

public static void main(String args[]) throws IOException  
{
    try{
        InputStream in= new FileInputStream(new File("C:\\example.txt"));  
        OutputStream out=new FileOutputStream(new File("\\\\path\\printer\\example.txt"));  

        // Transfer bytes from in to out  
        byte[] buf=new byte[1024];  
        int len;  
        while ((len=in.read(buf)) > 0) {  
           out.write(buf,0,len);  
        }  
        in.close();  
        out.close();  
    }
    catch(Exception ex)
    {
        ex.printStackTrace();
    }
}

这在windows上可以正常工作,但在Mac上不行

你知道我如何在Mac Os X上做同样的事情吗

请注意,我试图在mac计算机上本地将一个文件从一个文件夹复制到另一个文件夹,但当FileOutputStream获取远程文件夹时,该方法无法工作


共 (1) 个答案

  1. # 1 楼答案

    对于文件共享,可以将这样的UNC路径转换为

    smb://server/folder/file.txt
    

    但我不相信这是可能的打印机股份;我认为这更复杂。SMB打印机URL如下所示

    smb://username.password@workgroup/computer/printer
    

    在任何情况下,FileOutputStream都无法写入URL,因此无法以这种方式工作

    Java有一个完整的打印API,使用起来并不那么困难;如果你掌握了它,你可以编写一个可移植的程序,在每个平台上解决这个问题