要在Java中調用打印機打印文件,可以使用Java中的PrintService類和PrintJob類來實現。以下是一個簡單的示例代碼:
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import javax.print.Doc;
import javax.print.DocFlavor;
import javax.print.DocPrintJob;
import javax.print.SimpleDoc;
import javax.print.PrintException;
import javax.print.PrintService;
import javax.print.PrintServiceLookup;
public class PrintFile {
public static void main(String[] args) {
try {
// 選擇默認打印機
PrintService printService = PrintServiceLookup.lookupDefaultPrintService();
// 讀取文件內容
FileInputStream inputStream = new FileInputStream("file.txt");
byte[] fileContent = new byte[inputStream.available()];
inputStream.read(fileContent);
// 創建打印文檔
DocFlavor flavor = DocFlavor.BYTE_ARRAY.AUTOSENSE;
Doc doc = new SimpleDoc(fileContent, flavor, null);
// 創建打印任務
DocPrintJob printJob = printService.createPrintJob();
printJob.print(doc, null);
// 關閉文件流
inputStream.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (PrintException e) {
e.printStackTrace();
}
}
}
在這個例子中,我們首先獲取默認的打印機服務,然后讀取文件內容并創建打印文檔。接著,我們使用打印機服務來創建打印任務并打印文件。注意,文件名需要替換為實際要打印的文件名。
請確保文件存在并且打印機處于連接狀態,以便正常打印文件。