FileInputStream/DataInputStream



所以,我们得到了一个制作猜谜游戏的任务。程序必须生成一个数字,用户必须猜测。用户猜对后,程序显示"高分"(用户在猜对之前必须猜多少次)。

然后我们应该把这个高核心保存在一个文本文件中,这样它就可以保存在计算机上,如果你重新启动计算机,它就不会丢失。我正在纠结的是程序应该如何读取我保存的文件。

这是我的"写代码":

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

我该怎么办?

一些信息:高核心是和内部。

例如,如果highscoreint,则需要向文件中写入int。你可以用做到这一点

DataOutputStream out = new DataOutputStream(write);
out.writeInt(highscore);

并用读取

DataInputStream in = new DataInputStream(read);
int highscore = in.readInt();

DataInputStream没有readBytes()。这就是为什么你的程序不能编译。

DataIOStream类的全部目的是读取和写入

中底层[…]流中的基元Java数据类型机器独立方式。

因此,请使用与highscore的数据类型相对应的方法。

相关内容

  • 没有找到相关文章

最新更新