2012-11-05 53 views
2

我想一個大的字符串寫入我的DataOutputStream聯合但是我得到一個UTFDataFormatException,上面寫着:字符串太大DataOutputStream類

String more than 65535 UTF bytes long

發生這種情況時,我打電話:

byteOut.writeUTF(stringArray.get(i));

byteOut是我的DataOutputStreamstringArray.get(i);是我的字符串。

有沒有辦法讓大字符串進入這個DataOutputStream還是有另一種解決方案。

謝謝!

回答

2

我找到了我的問題的解決方案,就在這裏。

   ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
       DataOutputStream byteOut = new DataOutputStream(baos); 
       byte[] data = stringArray.get(i).getBytes("UTF-8"); 
       byteOut.write(data); 
       byteOut.close(); 
       byte[] input = baos.toByteArray(); 

可能不是,可能並不完美,但它的工作原理。

0

你用什麼來創建OutputStream?看看這個鏈接:Here。有可能您通過的媒介有限制,您需要在對象上配置一些參數。