问题一:
字符流编码未指定则为平台编码,我IDEA设置的为UTF-8,用字节输出流写数据,当写的是字符a时输出的文件是GBK编码,当输出的是字符‘中’时,输出的文件是UTF-8编码,不应该始终都是UTF-8编码吗?
OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("b.txt"));
osw.write('a');
//osw.write('中');
osw.close();
问题二:
用字符流传输文本文件为什么会比源文件大一点?
BufferedReader br = new BufferedReader(new FileReader("d:\\斗破苍穹.txt"));
BufferedWriter bw = new BufferedWriter(new FileWriter("d:\\a.txt"));
String line;
while ((line = br.readLine()) != null) {
bw.write(line);
bw.newLine();
bw.flush();
}
br.close();
bw.close();
第一个问题是:只对你的源码起作用,也就是你的项目里的文件编码。
第二个问题,我本地测试是没有任何问题,只多了一个字节,而且那个字节也只是最后的那个换行符。如果可以的话,能不能提供一下你的文件呢,可以上传到网盘,然后分享一下网盘链接啥的。
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632
非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!
速戳参与调研>>>https://t.csdnimg.cn/Kf0y