如何使用对象序列化 java从文件加载线数组对象

该程序旨在使用户能够用线条绘制一些东西并将其保存到一个文件中,然后可以加载该文件,使用 ObjectOutput writeObject 方法保存工作正常,但它正在加载不起作用的文件,如果你保存文件你可以绘制一条额外的线以使显示与保存的不同,但是在使用 ObjectInputStream readObject 方法加载它时,它不会在面板上显示保存的图形。

红颜莎娜
浏览 87回答 1
1回答

梦里花落0921

看起来当您在 lineCount 中读回文件时设置为 100,因为这是您保存的数组的大小。如果你只画了 3 条线,lineCount 是 100 而不是 3。这意味着当您进行重绘时,它会尝试绘制空对象。你需要做的是当你加载文件时找到行数组中的第一个空值并根据它设置你的 lineCount,而不是数组的长度。一个简单的方法是for (int loop = 0; loop < lines.length; loop++){&nbsp; if (lines[loop] == null)&nbsp; {&nbsp; &nbsp; lineCount = loop;&nbsp; &nbsp; break;&nbsp; }}代替lineCount = lines.length;
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java