首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FileInputStream和ObjectInputStream

FileInputStream和ObjectInputStream
EN

Stack Overflow用户
提问于 2011-01-17 08:52:38
回答 3查看 6.8K关注 0票数 4

我必须使用这些类读入一个文件。我真的不太明白它们是如何工作的。

代码语言:javascript
复制
FileInputStream inFile = new FileInputStream(fileName);
ObjectInputStream inStream = new ObjectInputStream(inFile);
car = (Car)inStream.readObject();

如果car是一个类,那么正在读取的到底是什么?我对此很困惑。

car是类Car的一个实例

谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-01-17 09:00:28

在最基本的级别上,您正在从文件中读取位,这是FileInputStream能够做到的。然后通过ObjectInputStream将这些位转换为Java对象,但不知道创建的对象的实际类型,这就是为什么必须将对象转换为汽车(希望在try/catch块中,以防出现错误)。

有关Streams的更多信息,请查看此处:input Streams

对于文件输入流,请查看此处:byte streams

对于对象流,请查看此处:Object streams

票数 2
EN

Stack Overflow用户

发布于 2011-01-17 09:55:23

您的代码,请尝试反序列化已保存到文件流的对象。

当您的虚拟机关闭时,您的对象实例将消失。序列化是一种将对象保存到持久化存储(文件、数据库)的方法,因此该对象可以在您的虚拟机生命周期之后使用。如果您再次需要该对象,只需将数据流反序列化为对象。

有关序列化的详细信息,请参阅此链接:

http://java.sun.com/developer/technicalArticles/Programming/serialization/

票数 0
EN

Stack Overflow用户

发布于 2014-09-12 20:43:14

FileInputStream:

FileInputStream用于打开要读取的文件。

代码语言:javascript
复制
FileInputStream fis=new FileInputStream("welcome");

它检查文件是否存在,如果文件存在,则打开文件进行读取,否则将抛出FileNotFoundException。

ObjectInputStream:

代码语言:javascript
复制
FileInputStream fis=new FileInputStream("welcome");
ObjectInputStream ois=new ObjectInputStream(fis);

它打开文件以读取对象。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4709151

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档