如何解决二进制文件上的迭代器
- 上传到地图
. - 允许删除最后一个 Car,包括它的 ID,用 String 表示。 不使用辅助数组或辅助文件,即仅篡改文件本身。 我提出的一些想法是使用随机访问文件并寻找最后的位置,我的意思是它将与 ObjectInputStream 一起工作。
如何删除?
这是我目前所拥有的,我想得到指导:
public class MyFile implements Iterable<Car> {
private Map<String,Car> allCars;
final String fileName;
public MyFile(String fileName) {
this.fileName = fileName;
}
@Override
public Iterator<Car> iterator() {
return new MyFileIterator();
}
class MyFileIterator implements Iterator<Car> {
private ObjectOutputStream oOut;
private ObjectInputStream oIn;
//BufferedReader in;
//String nextline;
Car nextCar;
String nexrID;
int position;
public MyFileIterator() {
oOut = new ObjectOutputStream(new FileOutputStream(fileName,true));
oIn = new ObjectInputStream(new FileInputStream(fileName));
}
// If the file isn't over
public boolean hasNext() {
return oIn.available() != 0;
}
// Return the next Car
public Car next() {
nextID = oIn.readUTF();
nextCar = (Car)oIn.readobject();
return nextCar;
}
//Todo:
public void remove() {
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。