readUTF报错java.io.EOFException?

import java.io.*;
public class DataInputstream {
public static void main(String[] args) {
int n;
String s;
try {
DataInputStream dis=new DataInputStream(new FileInputStream("E:\a.txt"));//文件夹内是“java编程”路径是绝对路径
s=dis.readUTF();
n=dis.readInt();
System.out.println(s);
System.out.println(n);
}catch (Exception e){
System.out.println(e);
System.out.println("fail");
}
}
}
//注销掉s=dis.readUTF();和system.out.println(s);之后输出的是-408384539
//这是哪里出问题了吗,还是语言语法错了?

2个回答

看了一下文档,readUTF是读入一个已使用 UTF-8 修改版格式编码的字符串,它和标准的utf-8格式有些不一样。文档上说明是:可以使用 DataOutput 接口的 writeUTF 方法写入适合此方法读取的数。调用该方法写入的文本打开是这样的:
图片说明,和我们新建保存的格式不一样,所以我们保存的utf-8编码格式的文档其实是不能被readUTF方法读取的。

文件是utf8编码的么,用记事本打开,另存为,编码下拉选择utf8,保存再试试看

Orange_air
Orange_air 这个确实是UTF-8,记事本是,idea也是,但就是出不来,很难受
8 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐