DataInputStream предназначен только для десериализации объектов Java из потока, которые были сериализованы на другом конце Java. Я подозреваю, что вы действительно хотите вместо этого что-то вроде:
InputStream is = hc.openInputStream();
String list = new String(IOUtilities.streamToBytes(is));