Revert. We'll roll something together when Zell's not trying to release.

git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6042 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
Ray Greenwell
2010-02-22 20:26:31 +00:00
parent 90ff35b3a0
commit 90a6d78a3c
@@ -24,15 +24,14 @@ package com.threerings.io;
import java.util.ArrayList;
import java.util.HashMap;
import java.io.ByteArrayInputStream;
import java.io.DataInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import com.google.common.base.Charsets;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.io.LineReader;
import com.samskivert.util.StringUtil;
@@ -315,10 +314,18 @@ public class ObjectInputStream extends DataInputStream
public String readUnmodifiedUTF ()
throws IOException
{
if (_reader == null) {
_reader = new LineReader(new InputStreamReader(this, Charsets.UTF_8));
}
return _reader.readLine();
// find out how many raw bytes of UTF8 data there is
int utflen = readUnsignedShort();
// read precisely that many into a buffer
byte[] bbuf = new byte[utflen];
in.read(bbuf);
// decode the UTF-8 stream into a character buffer
char[] cbuf = new char[utflen];
int read = new InputStreamReader(new ByteArrayInputStream(bbuf), "UTF-8").read(cbuf);
// create and return the string given the number of decoded characters
return String.copyValueOf(cbuf, 0, read);
}
@Override
@@ -347,8 +354,6 @@ public class ObjectInputStream extends DataInputStream
/** An optional set of class name translations to use when unserializing objects. */
protected HashMap<String, String> _translations;
protected LineReader _reader;
/** Used to activate verbose debug logging. */
protected static final boolean STREAM_DEBUG = false;
}