public void fetchFrom(OpenFile file) { byte buffer[] = new byte[tableSize * DirectoryEntry.sizeOf()]; // read the file file.readAt(buffer, 0, tableSize * DirectoryEntry.sizeOf(), 0); // unmarshall int pos = 0; for (int i = 0; i < tableSize; i++) { table[i].internalize(buffer, pos); pos += DirectoryEntry.sizeOf(); } }
public void writeBack(OpenFile file) { byte buffer[] = new byte[tableSize * DirectoryEntry.sizeOf()]; // marshall int pos = 0; for (int i = 0; i < tableSize; i++) { table[i].externalize(buffer, pos); pos += DirectoryEntry.sizeOf(); } // write the file file.writeAt(buffer, 0, tableSize * DirectoryEntry.sizeOf(), 0); }