作者AGanPTT (E0)
看板java
標題[問題] 傳送檔案 關於byte轉string
時間Sun Nov 14 02:26:11 2010
我要做一個Server跟一個client
client要可以傳送檔案給Server
在複製byte時我是這麼寫的
while ( ( length = in.read( temp ) ) > 0 )
data.content += new String( temp, 0, length );
我發現傳送存文字檔案時都不會有錯誤
傳送pdf, mp3...等其他檔案就會出錯
就會少很多byte
我有實做一個物件用來Serializable序列化傳輸
物件內容如下
public class MyFile implements java.io.Serializable
{
public File file;
public String content;
MyFile( File in )
{
file = in;
content = "";
}
}
我的方式就是先把檔案的byte讀進來
再轉為字串儲存
最後整個object傳送出去
我發現是在byte轉換為string時會有發生byte消失的情形 (除了存文字檔外)
請問該如何解決呢????
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.143.158.10
→ manlike:何必轉字串畫蛇添足 就byte array送出去就好啦~ 11/14 19:45
→ AGanPTT:看別人code所以照著寫= =" 自己重新想過後就用byte了 11/14 20:48
→ meconin:把文字字串某個位置 用0 replace 掉就掛了 11/15 17:58
→ meconin:一般用文字傳送,會先轉成諸如 BASE64 之類的格式 ... FYI 11/15 17:59
推 undeadj:1.用byte傳 2.Base64 3.序列化 11/16 02:30