下面这段代码,打印出来的中文是乱码。求帮助
public static void main(String[] args) {
printFile("F:/Con/1111.csv");
} public static void printFile(String fileName){
try{
DocFlavor dof = null;
if(fileName.endsWith(".gif")){
//gif
dof = DocFlavor.INPUT_STREAM.GIF;
}else if(fileName.endsWith(".jpg")){
//jpg
dof = DocFlavor.INPUT_STREAM.JPEG;
}else if(fileName.endsWith(".png")){
//png
dof = DocFlavor.INPUT_STREAM.PNG;
}else{
dof = DocFlavor.INPUT_STREAM.AUTOSENSE;
}
FileInputStream fin = new FileInputStream(fileName);
PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();
pras.add(new Copies(1));
PrintService pss[] = PrintServiceLookup.lookupPrintServices(null,pras);
if (pss.length == 0){
System.err.println("The printer does not support the appropriate DocFlavor");
return;
}
//PrintService ps = PrintServiceLookup.lookupDefaultPrintService();
for (int i=0;i<pss.length;i++) {
PrintService ps = pss[i];
if ("HP LaserJet Professional CM1410 Series PCL 6".equals(ps.getName())) {
System.out.println("Printing ps=============" + ps);
//DocAttributeSet das = new HashDocAttributeSet();
Doc doc = new SimpleDoc(fin, dof, null);
DocPrintJob job = ps.createPrintJob();
job.print(doc, pras);
fin.close();
System.out.println("Printing OK...........");
break;
}
}
}catch (IOException ie){
ie.printStackTrace();
} catch (PrintException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
printFile("F:/Con/1111.csv");
} public static void printFile(String fileName){
try{
DocFlavor dof = null;
if(fileName.endsWith(".gif")){
//gif
dof = DocFlavor.INPUT_STREAM.GIF;
}else if(fileName.endsWith(".jpg")){
//jpg
dof = DocFlavor.INPUT_STREAM.JPEG;
}else if(fileName.endsWith(".png")){
//png
dof = DocFlavor.INPUT_STREAM.PNG;
}else{
dof = DocFlavor.INPUT_STREAM.AUTOSENSE;
}
FileInputStream fin = new FileInputStream(fileName);
PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();
pras.add(new Copies(1));
PrintService pss[] = PrintServiceLookup.lookupPrintServices(null,pras);
if (pss.length == 0){
System.err.println("The printer does not support the appropriate DocFlavor");
return;
}
//PrintService ps = PrintServiceLookup.lookupDefaultPrintService();
for (int i=0;i<pss.length;i++) {
PrintService ps = pss[i];
if ("HP LaserJet Professional CM1410 Series PCL 6".equals(ps.getName())) {
System.out.println("Printing ps=============" + ps);
//DocAttributeSet das = new HashDocAttributeSet();
Doc doc = new SimpleDoc(fin, dof, null);
DocPrintJob job = ps.createPrintJob();
job.print(doc, pras);
fin.close();
System.out.println("Printing OK...........");
break;
}
}
}catch (IOException ie){
ie.printStackTrace();
} catch (PrintException e) {
e.printStackTrace();
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货