Spring REST中的java EOFEException
因此,我有一个数据结构,我想在我的SpringREST应用程序中保留它。
这就是我如何初始化@bean
@Configuration
public class MessageBrokerInitializer {
@Bean
public MessageBroker getMessageBroker(){
FileInputStream fileInputStream;
ObjectInputStream objectInputStream;
MessageBroker broker = null;
try {
fileInputStream = new FileInputStream("./data/store.ser");
objectInputStream = new ObjectInputStream(fileInputStream);
broker = (MessageBroker) objectInputStream.readObject();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return (broker == null) ? new MessageBroker(): broker;
}
}
基本上,我试图读取一个文件来初始化我的对象,或者如果文件是空的,我想重新创建数据结构。我一直在
java.io.EOFException
我怎样才能让它工作呢
# 1 楼答案
通过检查
objectInputStream.available()
可读取的字节数,可以避免EOFException
,如下所示:你可以看看here