DataInputStream readUTF EOFException

来源:百度知道 编辑:UC知道 时间:2024/05/20 23:36:35
写了这段代码,怎么就抛异常了。。
谁来解释下呀。。
谢谢。。

import java.io.*;

public class Reader {
public static void main(String[] args) throws IOException {
FileInputStream in = new FileInputStream("D:/test.txt");
DataInputStream dis =new DataInputStream(in);
String str;
while((str = dis.readUTF())!=null){
System.out.println(str);
}
}

}

我想用readUTF来读取UTF编码的文本。。
我知道用BufferedReade可以,但是我想如何才能使我上面的代码能正常运行
把文本文件改编码这条路行得通吗?

这个方法是用来 读入一个已使用 UTF-8 修改版格式编码的字符
而你的文件中的字符肯定没有使用这种编码格式所以才会抱这种错误
其实像你这样做使用BufferedReader是最合适的了。

DataInputStream dis =new DataInputStream(in);
把这句换成
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));

然后下面的改成readLine() 其余的都不用动