当前位置: 首页 > 知识库问答 >
问题:

从存储(cn1)读取文件时的EOFException

谢叶五
2023-03-14

我已经创建了一个可外部化的对象用户。除了我退出应用程序并重新打开它之外,它在写入和从存储中读取它时工作得很好。然后出现此错误:

在java.io.datainputstream.readfully(datainputstream.java:197)在java.io.datainputstream.readutf(datainputstream.java:609)在java.io.datainputstream.readutf(datainputstream.java:564)在com.codename1.io.util.readutf(util.java:962)

我在StateMachine中注册了该类,如下所示:

@Override
    protected void initVars(Resources res) {
        Util.register("User", User.class);
}

这是一个类:

package userclasses;

import com.codename1.io.Externalizable;
import com.codename1.io.Util;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.util.Date;

/**
 *
 * 
 */
public class User implements Externalizable {

    private static final int VERSION = 1;

    public int userID;
    public String username;
    public String password;
    public String firstname;
    public String surname;
    public String email;
    public Date registerDate;
    public boolean paidUser;
    public double runStep;
    public double walkStep;



    public User(){
    }

    @Override
    public int getVersion() {
        return VERSION;

    }

    @Override
    public void externalize(DataOutputStream out) throws IOException {
        out.write(userID);
        Util.writeUTF(username, out);
        Util.writeUTF(password, out);
        Util.writeUTF(firstname, out);
        Util.writeUTF(surname, out);
        Util.writeUTF(email, out);
        out.writeLong(registerDate.getTime());
        out.writeBoolean(paidUser);
        out.writeDouble(runStep);
        out.writeDouble(walkStep);

    }

    @Override
    public void internalize(int version, DataInputStream in) throws      IOException {
        userID = in.readInt();
        username = Util.readUTF(in);
        password = Util.readUTF(in);
        firstname = Util.readUTF(in);
        surname = Util.readUTF(in);
        email = Util.readUTF(in);
        registerDate = new Date(in.readLong());
        paidUser = in.readBoolean();
        runStep = in.readDouble();
        walkStep = in.readDouble();

    }

    @Override
    public String getObjectId() {
        return "User";
    }    
}

共有1个答案

慕容高卓
2023-03-14
out.write(userID);
out.writeInt(userID);
 类似资料:
  • 我正在使用Spring引导连接到谷歌云存储。 我能够连接到一个文件,并从谷歌云存储桶中读取内容。 但是我不能得到谷歌云存储桶中所有文件的列表。 请帮帮我。 这很有效 这不工作。 有什么原因吗?

  • 是否可以在不使用下载功能的情况下读取文件中的值? 代替的东西: 类似于:

  • 问题内容: 我需要在存储过程中读入由SSIS包创建的日志文件。 有什么好方法吗? 我尝试使用此代码,但将文件内容显示为乱码。有没有解决的编码问题?有没有更简单的方法? 问题答案: 您是否尝试过将笔直插入?例如:

  • 我正在为我的大学OOP课程做一个学期项目。我正在做一个餐厅管理系统作为我的项目。 我有一个Order类、Main类和常量存储在一个名为GlobalConstants的类中。 我在这个网站上读到一篇文章说常量应该在相关的类中。我有一个运行在静态块中的方法,从文件中读取订单数据(订单号,时间,项目等),并将其存储在ArrayList(静态和最终)中,该ArrayList可由Main类中的多个方法访问。

  • 问题内容: 我们如何从文本文件读取数据并将其存储在String变量中? 是否有可能在方法中传递文件名,并且它将返回字符串,即文件中的文本。 我必须导入哪种工具?声明列表会很棒。 问题答案: 这些是必需的进口: 这是一种方法,通过将文件名作为参数传递给它,您可以从文件中进行读取,如下所示:

  • 从代码(李克强)收到的错误: