>>119
DataInputのreadUTF()を見ればわかると思いますが、
readUTFは特別なフォーマットのUTF-8しか読むことができません。
普通のテキストファイルを読みたければ、InputStream.readで1バイトずつ読込み、
改行記号のところで読み切るようなことをする必要がありますよ。

Vector vec = new Vector();
ByteArrayInputStream buf = new ByteArrayInputStream();
while (true) {
  int d = in.read();
  if (d < 0 || d == '\n') {
    vec.addElement(new String(buf.toByteArray()));
    if (d < 0)
      break;
    buf = new ByteArrayInputStream();
  } else if (d == '\r') {
    continue;
  } else {
    buf.write(d);
  }
}
String[] array = new String[vec.size()];
vec.copyInto(array);

こんな感じにすると、arrayに読み込めると思われます。