2012-11-05 51 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。有可能您通过的媒介有限制,您需要在对象上配置一些参数。