所以,我们得到了一个制作猜谜游戏的任务。程序必须生成一个数字,用户必须猜测。用户猜对后,程序显示"高分"(用户在猜对之前必须猜多少次)。
然后我们应该把这个高核心保存在一个文本文件中,这样它就可以保存在计算机上,如果你重新启动计算机,它就不会丢失。我正在纠结的是程序应该如何读取我保存的文件。
这是我的"写代码":
try {
FileOutputStream write = new FileOutputStream
DataOutputStream out = new DataOutputStream(write);
out.writeBytes(""+highscore);
write.close();}
catch(IOException ioException ){
System.err.println( "Could not write file" );
return;}
它很好用,但我不知道怎么再读一遍。我的"读取代码":(我只是猜测,我不知道这是否可行)
try{
FileInputStream read = new FileInputStream
DataInputStream in = new DataInputStream(read);
in.readBytes(""+highscore);
JOptionPane.showMessageDialog(null, "Your highscore is" + highscore);
catch(IOException ioException ){
System.err.println( "Could not read file" );
return;}
现在,我不知道in.readBytes(""+highscore);
命令是否正确。我只是猜测(我想如果out.writeBytes(""+highscore);
有效,那么肯定也要读)
如果readBytes是正确的命令,那么我会得到这个错误:
The method readBytes(String) is undefined for the type DataInputStream
我该怎么办?
一些信息:高核心是和内部。
例如,如果highscore
是int
,则需要向文件中写入int
。你可以用做到这一点
DataOutputStream out = new DataOutputStream(write);
out.writeInt(highscore);
并用读取
DataInputStream in = new DataInputStream(read);
int highscore = in.readInt();
类DataInputStream
没有readBytes()
。这就是为什么你的程序不能编译。
DataIOStream
类的全部目的是读取和写入
中底层[…]流中的基元Java数据类型机器独立方式。
因此,请使用与highscore
的数据类型相对应的方法。