下面是我的打印方法:
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这样。求大虾们帮忙啦。。