看板 java 關於我們 聯絡資訊
我只是希望把中文字串寫入到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