package pilot.java.dev; import java.io.*; import java.util.*; public class CreatePDB { public CreatePDB(String name, short flags, short version, int modnum, String type, String creator, int numrecordsguess, int baseid) { mName = name; mFlags = flags; mVersion = version; mModNum = modnum; mType = type; mCreator = creator; mRecords = new Vector(numrecordsguess); PDBRecord.setBaseID(baseid); } public void addRecord(PDBRecord record) { mRecords.addElement(record); } public void writePDB(String filename) throws Exception { FileOutputStream fos=null; DataOutputStream dos=null; PDBRecord record; int offset; try { fos = new FileOutputStream(filename); dos = new DataOutputStream(fos); } catch (Exception e1) { String s = "Error opening "+filename; System.out.println(s); throw e1; } try { dos.writeBytes(fillField(mName,32,(char)0)); dos.writeShort(mFlags); dos.writeShort(mVersion); int t = (int)((new Date()).getTime()/1000)+2082844800; dos.writeInt(t); dos.writeInt(t); dos.writeInt(0); dos.writeInt(mModNum); dos.writeInt(0); dos.writeInt(0); dos.writeBytes(fillField(mType,4,(char)0)); dos.writeBytes(fillField(mCreator,4,(char)0)); dos.writeInt(0); dos.writeInt(0); dos.writeShort((short)mRecords.size()); offset =80+mRecords.size()*8; for (int i=0;i length) return data.substring(0,length); for (int i=data.length();i