<p>I've been doing some socket programming to transmit information across the wire.  I've run into a problem with DataOutputStream.writeUTF().  It seems to allow strings of up to 64k but I have a few situations where I can run over this.  Are there any good alternatives that support larger strings or do I need to roll my own?</p>

You should be able to use
OutputStreamWriter
with the UTF-8 encoding.  There's no explicit writeUTF method, but you can set the charset in the constructor.  Try
```
```
Writer osw = new OutputStreamWriter(out, "UTF-8");
```
```
where
```
out
```
is whatever OutputStream you're wrapping now.