java 程序打印中文文件出现乱码、、且格式不对

usench 2011-09-30 12:09:23
下面是我的打印方法:
public void doPrint() {
if(null!=tabPane&&tabPane.getSelectedIndex()!=-1){
//构建打印请求属性集
PrintRequestAttributeSet pras=new HashPrintRequestAttributeSet();
//设置打印格式,这里设置为自动匹配
DocFlavor docF=DocFlavor.INPUT_STREAM.AUTOSENSE;
//查询所有可用的打印服务
PrintService[] printService=PrintServiceLookup.lookupPrintServices(docF, pras);
if(null==printService||printService.length<=0){
JOptionPane.showMessageDialog(null, "没有可使用的打印服务....");
return;
}
//定位默认的打印服务
PrintService defaultPrintService=PrintServiceLookup.lookupDefaultPrintService();
//显示打印对话框
PrintService service=ServiceUI.printDialog(null, 400, 400, printService, defaultPrintService, docF, pras);
if(null!=service){
DocPrintJob printJob=service.createPrintJob();
String filePath=tabPane.getTitleAt(tabPane.getSelectedIndex());

File file=new File(filePath);
if (null != file && file.exists()) {

// try {
// FileInputStream fis=new FileInputStream(file);
// InputStreamReader in=new InputStreamReader(fis,"GBK");
// DocAttributeSet das=new HashDocAttributeSet();
// Doc doc=new SimpleDoc(in,docF,das);
// printJob.print(doc, pras);
// } catch (Exception e1) {
// JOptionPane.showMessageDialog(null, "打印出错....");
// e1.printStackTrace();
// return;
// }
try {
FileInputStream fis = new FileInputStream(file);
// FileReader fis=new FileReader(file);
DocAttributeSet das = new HashDocAttributeSet();
Doc doc = new SimpleDoc(fis, docF, das);
try {
printJob.print(doc, pras);
} catch (PrintException e) {
JOptionPane.showMessageDialog(null, "打印出错....");
e.printStackTrace();
return;
}
} catch (FileNotFoundException e) {
JOptionPane.showMessageDialog(null, "文件找不到....");
e.printStackTrace();
return;
}

} else {
JOptionPane.showMessageDialog(null, "请先保存文件....");
return;
}

}
}


}

求大虾们解决,若文件中全部是英文就打印正确,但是打印出来的格式不是和文本编辑器里看见的一样,就是该
换行的没有,缩进也不对。
如:文件a.txt中内容:
dasdaslkdas
dvsadvasdvv
svsdvsdvsdv
应该打印成:
dasdaslkdas
dvsadvasdvv
svsdvsdvsdv
可却打印出来了:
dasdaslkdas
dvsadvasdvv
svsdvsdvsdv

这样。求大虾们帮忙啦。。。。。
...全文
312 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧