From: Carsten W. <ca...@us...> - 2005-05-20 15:06:03
|
Update of /cvsroot/jake2/jake2/src/jake2/qcommon In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19166/src/jake2/qcommon Modified Files: FS.java Log Message: replace the javax.imageio with nio file operations Index: FS.java =================================================================== RCS file: /cvsroot/jake2/jake2/src/jake2/qcommon/FS.java,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** FS.java 10 Nov 2004 20:41:40 -0000 1.12 --- FS.java 20 May 2005 15:05:54 -0000 1.13 *************** *** 37,42 **** import java.util.*; - import javax.imageio.stream.FileImageInputStream; - /** * FS --- 37,40 ---- *************** *** 528,549 **** dpackheader_t header; Hashtable newfiles; int numpackfiles = 0; pack_t pack = null; - RandomAccessFile file; - FileImageInputStream packhandle; // unsigned checksum; // try { ! packhandle = new FileImageInputStream(file = new RandomAccessFile( ! packfile, "r")); ! packhandle.setByteOrder(ByteOrder.LITTLE_ENDIAN); ! ! if (packhandle.length() < 1) return null; // header = new dpackheader_t(); ! header.ident = packhandle.readInt(); ! header.dirofs = packhandle.readInt(); ! header.dirlen = packhandle.readInt(); if (header.ident != IDPAKHEADER) --- 526,549 ---- dpackheader_t header; Hashtable newfiles; + RandomAccessFile file; int numpackfiles = 0; pack_t pack = null; // unsigned checksum; // try { ! file = new RandomAccessFile(packfile, "r"); ! FileChannel fc = file.getChannel(); ! ByteBuffer packhandle = fc.map(FileChannel.MapMode.READ_ONLY, 0, file.length()); ! packhandle.order(ByteOrder.LITTLE_ENDIAN); ! ! fc.close(); ! ! if (packhandle == null || packhandle.limit() < 1) return null; // header = new dpackheader_t(); ! header.ident = packhandle.getInt(); ! header.dirofs = packhandle.getInt(); ! header.dirlen = packhandle.getInt(); if (header.ident != IDPAKHEADER) *************** *** 558,562 **** newfiles = new Hashtable(numpackfiles); ! packhandle.seek(header.dirofs); // parse the directory --- 558,562 ---- newfiles = new Hashtable(numpackfiles); ! packhandle.position(header.dirofs); // parse the directory *************** *** 564,573 **** for (int i = 0; i < numpackfiles; i++) { ! packhandle.readFully(tmpText); entry = new packfile_t(); entry.name = new String(tmpText).trim(); ! entry.filepos = packhandle.readInt(); ! entry.filelen = packhandle.readInt(); newfiles.put(entry.name.toLowerCase(), entry); --- 564,573 ---- for (int i = 0; i < numpackfiles; i++) { ! packhandle.get(tmpText); entry = new packfile_t(); entry.name = new String(tmpText).trim(); ! entry.filepos = packhandle.getInt(); ! entry.filelen = packhandle.getInt(); newfiles.put(entry.name.toLowerCase(), entry); |