[問題] 傳送檔案 關於byte轉string

看板java作者 (E0)時間15年前 (2010/11/14 02:26), 編輯推噓1(104)
留言5則, 4人參與, 最新討論串1/1
我要做一個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

11/14 19:45, , 1F
何必轉字串畫蛇添足 就byte array送出去就好啦~
11/14 19:45, 1F

11/14 20:48, , 2F
看別人code所以照著寫= =" 自己重新想過後就用byte了
11/14 20:48, 2F

11/15 17:58, , 3F
把文字字串某個位置 用0 replace 掉就掛了
11/15 17:58, 3F

11/15 17:59, , 4F
一般用文字傳送,會先轉成諸如 BASE64 之類的格式 ... FYI
11/15 17:59, 4F

11/16 02:30, , 5F
1.用byte傳 2.Base64 3.序列化
11/16 02:30, 5F
文章代碼(AID): #1CtjX6Rl (java)