1010import java .io .PrintWriter ;
1111import java .io .RandomAccessFile ;
1212import java .io .StringWriter ;
13+ import java .nio .Buffer ;
1314import java .nio .ByteBuffer ;
1415import java .nio .ByteOrder ;
1516import java .nio .FloatBuffer ;
@@ -203,7 +204,7 @@ int writeData(float[] data, int imageNumber) throws IOException {
203204 ByteBuffer direct = ByteBuffer .allocateDirect (4 * data .length );
204205 FloatBuffer buffer = direct .asFloatBuffer ();
205206 buffer .put (data );
206- // buffer.flip();
207+ // ((Buffer) buffer) .flip();
207208 channel .write (direct );
208209
209210 if (imageNumber == 1 )
@@ -232,7 +233,7 @@ void writeMetadata(int imageNumber) throws IOException {
232233 if (debugRead )
233234 System .out .println ("position before writing nextIFD= " + channel .position () + " IFD is " + firstIFD );
234235 buffer .putInt (firstIFD );
235- buffer .flip ();
236+ (( Buffer ) buffer ) .flip ();
236237 channel .write (buffer );
237238 }
238239 writeIFD (channel , firstIFD );
@@ -247,7 +248,7 @@ private int writeHeader(FileChannel channel) throws IOException {
247248 buffer .putShort ((short ) 42 );
248249 buffer .putInt (firstIFD );
249250
250- buffer .flip ();
251+ (( Buffer ) buffer ) .flip ();
251252 channel .write (buffer );
252253
253254 return firstIFD ;
@@ -272,7 +273,7 @@ private void writeIFD(FileChannel channel, int start) throws IOException {
272273 ByteBuffer buffer = ByteBuffer .allocate (2 );
273274 int n = tags .size ();
274275 buffer .putShort ((short ) n );
275- buffer .flip ();
276+ (( Buffer ) buffer ) .flip ();
276277 channel .write (buffer );
277278
278279 start += 2 ;
@@ -291,7 +292,7 @@ private void writeIFD(FileChannel channel, int start) throws IOException {
291292 System .out .println ("pos before writing nextIFD= " + channel .position ());
292293 buffer = ByteBuffer .allocate (4 );
293294 buffer .putInt (0 );
294- buffer .flip ();
295+ (( Buffer ) buffer ) .flip ();
295296 channel .write (buffer );
296297 }
297298
@@ -308,18 +309,18 @@ private void writeIFDEntry(FileChannel channel, IFDEntry ifd, int start) throws
308309 int done = writeValues (buffer , ifd );
309310 for (int k = 0 ; k < 4 - done ; k ++) // fill out to 4 bytes
310311 buffer .put ((byte ) 0 );
311- buffer .flip ();
312+ (( Buffer ) buffer ) .flip ();
312313 channel .write (buffer );
313314
314315 } else { // write offset
315316 buffer .putInt (nextOverflowData );
316- buffer .flip ();
317+ (( Buffer ) buffer ) .flip ();
317318 channel .write (buffer );
318319 // write data
319320 channel .position (nextOverflowData );
320321 ByteBuffer vbuffer = ByteBuffer .allocate (size );
321322 writeValues (vbuffer , ifd );
322- vbuffer .flip ();
323+ (( Buffer ) vbuffer ) .flip ();
323324 channel .write (vbuffer );
324325 nextOverflowData += size ;
325326 }
@@ -417,7 +418,7 @@ private int readHeader(FileChannel channel) throws IOException {
417418 ByteBuffer buffer = ByteBuffer .allocate (8 );
418419 int n = channel .read (buffer );
419420 assert n == 8 ;
420- buffer .flip ();
421+ (( Buffer ) buffer ) .flip ();
421422 if (showHeaderBytes ) {
422423 printBytes (System .out , "header" , buffer , 4 );
423424 buffer .rewind ();
@@ -443,7 +444,7 @@ private int readIFD(FileChannel channel, int start) throws IOException {
443444
444445 int n = channel .read (buffer );
445446 assert n == 2 ;
446- buffer .flip ();
447+ (( Buffer ) buffer ) .flip ();
447448 if (showBytes ) {
448449 printBytes (System .out , "IFD" , buffer , 2 );
449450 buffer .rewind ();
@@ -468,7 +469,7 @@ private int readIFD(FileChannel channel, int start) throws IOException {
468469 buffer = ByteBuffer .allocate (4 );
469470 buffer .order (byteOrder );
470471 assert 4 == channel .read (buffer );
471- buffer .flip ();
472+ (( Buffer ) buffer ) .flip ();
472473 int nextIFD = buffer .getInt ();
473474 if (debugRead )
474475 System .out .println (" nextIFD == " + nextIFD );
@@ -484,7 +485,7 @@ private IFDEntry readIFDEntry(FileChannel channel, int start) throws IOException
484485 buffer .order (byteOrder );
485486 int n = channel .read (buffer );
486487 assert n == 12 ;
487- buffer .flip ();
488+ (( Buffer ) buffer ) .flip ();
488489 if (showBytes )
489490 printBytes (System .out , "IFDEntry bytes" , buffer , 12 );
490491
@@ -509,7 +510,7 @@ private IFDEntry readIFDEntry(FileChannel channel, int start) throws IOException
509510 ByteBuffer vbuffer = ByteBuffer .allocate (ifd .count * ifd .type .size );
510511 vbuffer .order (byteOrder );
511512 assert ifd .count * ifd .type .size == channel .read (vbuffer );
512- vbuffer .flip ();
513+ (( Buffer ) vbuffer ) .flip ();
513514 readValues (vbuffer , ifd );
514515 }
515516
@@ -670,7 +671,7 @@ ByteBuffer testReadData(int offset, int size) throws IOException {
670671 ByteBuffer buffer = ByteBuffer .allocate (size );
671672 buffer .order (byteOrder );
672673 assert size == channel .read (buffer );
673- buffer .flip ();
674+ (( Buffer ) buffer ) .flip ();
674675 return buffer ;
675676 }
676677}
0 commit comments