作者IsMe1086 (大头)
看板java
标题[问题] 写入中文档案问题
时间Wed May 27 18:28:05 2009
我只是希望把中文字串写入到output.txt
import java.io.*;
public class write{
public static void main(String[] args) throws Exception{
String dstFile = "output.txt";
DataOutputStream writer = new DataOutputStream(
new FileOutputStream(new File(dstFile)));
String s = "测试";
writer.writeUTF(s);
writer.close();
}
}
但是出来的档案前面都会有怪怪字元
用HEX编码来看是多了 00 06这两个byte
到底是怎麽回事? 而且有时候多出的那两个byte还会变@@!!
我想问有没有办法在输入档案时把这两个byte去掉?
要不然用记事本开启看起来很奇怪
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.4.234
1F:推 LPH66:我猜是字串长度的byte数...两个中文字在utf-8下是6 byte 05/27 19:30
2F:推 easy1:new FileOutputStream("outfilename"), "UTF8") 这样呢? 05/27 21:22
3F:→ IsMe1086:to 楼上 FileOutputStream contructor无法设定编码 05/27 21:35
4F:→ IsMe1086:1楼说对了!! 我试了好几次 那的确是字串长度byte数 05/27 21:38
5F:推 sbrhsieh:API doc 中 DataOutputStream - writeUTF 说明的很清楚 05/28 01:19
6F:→ IsMe1086:QQ 05/28 01:41