FileWriter 写入文件中文乱码

本文探讨了从Web表单获取数据并将其写入文件过程中遇到的乱码及编译错误问题。通过调整字符编码设置和文本处理方式,最终解决了这些问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

从前台jsp表单拿到数据,写入本地临时文件中。本地运行没问题,部署到服务器端,出现乱码。服务器环境win2003

原始代码:

1 FileWriter writer = new FileWriter(path);
2 
3 writer.write(fileContent)

解决后的:

1 Writer writer = new BufferedWriter(
2                         new OutputStreamWriter(
3                                 new FileOutputStream(path), "UTF-8"));
4 
5 writer.write(fileContent);

无乱码

但由于生成的内容要写入文件,如(.java  .c .cpp), 但无法编译成功,识别不出格式,显示为mac文件。那就换种方法吧:

1 FileWriter fw = new FileWriter(path);
2 BufferedWriter bw = new BufferedWriter(fw);
3 bw.write(fileContent);

这样貌似不存在中文乱码问题.. 但貌似还是不行..

 

最后发现根本原因不在于流的转换,而是在前台获取文本内容时,以前为了防止文本文件在记事本中不换行的现象,加了\n到 \r\n的转换

最后导致了生成用例文件无法编译~  一直找错了方向   

转载于:https://www.cnblogs.com/devilfree/p/3169611.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值