java打印最后一个个字符_Java PrintWriter打印字符不显示最后一个字符

我真的不知道问题出在哪里。

我想将这些字符打印到一个文本文件中,然后使用printWriter来执行相同的操作。

如果文件有一个“;”,我想用一个新行代替它,这就是我在做什么,

public static void downloadFile_txt(String sourceFilePathName, String contentType, String destFileName, HttpServletResponse response) throws IOException, ServletException

{

File file = new File(sourceFilePathName);

//FileInputStream fileIn = new FileInputStream(file);

FileReader fileIn = new FileReader(file);

long fileLen = file.length();

response.setContentType(contentType);

response.setContentLength((int)fileLen);

response.setHeader("Content-Disposition", String.valueOf((new StringBuffer("attachment;")).append("filename=").append(destFileName)));

PrintWriter pw = response.getWriter();

// Loop to read and write bytes.

int c=-1;

while ((c = fileIn.read()) != -1)

{

if(c!=59)

{

pw.print((char)c);

}

else

{

pw.println();

}

}

pw.flush();

pw=null;

fileIn.close();

}但是除了最后一个字符外,我的文件正在为所有内容激怒。

Eg.input =

:00004000,FFAD,2 Byte Ch;

:0000FFBD,FFBE,2 Byte Ch;

:0000FFBF,FFFF,2 Byte Ch;输出即时通讯

:00004000,FFAD,2 Byte Ch

:0000FFBD,FFBE,2 Byte Ch

:0000FFBF,FFFF,2 Byte C最后的“h”没有被打印。

提前致谢

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值