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);
|