作者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
推 LPH66:我猜是字串長度的byte數...兩個中文字在utf-8下是6 byte 05/27 19:30
推 easy1:new FileOutputStream("outfilename"), "UTF8") 這樣呢? 05/27 21:22
→ IsMe1086:to 樓上 FileOutputStream contructor無法設定編碼 05/27 21:35
→ IsMe1086:1樓說對了!! 我試了好幾次 那的確是字串長度byte數 05/27 21:38
推 sbrhsieh:API doc 中 DataOutputStream - writeUTF 說明的很清楚 05/28 01:19
→ IsMe1086:QQ 05/28 01:41