< prev index next >
src/java.desktop/share/classes/com/sun/media/sound/ModelByteBuffer.java
Print this page
@@ -20,10 +20,11 @@
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
+
package com.sun.media.sound;
import java.io.ByteArrayInputStream;
import java.io.DataInputStream;
import java.io.File;
@@ -58,34 +59,39 @@
raf = new RandomAccessFile(root.file, "r");
raf.seek(root.fileoffset + arrayOffset());
left = capacity();
}
+ @Override
public int available() throws IOException {
if (left > Integer.MAX_VALUE)
return Integer.MAX_VALUE;
return (int)left;
}
+ @Override
public synchronized void mark(int readlimit) {
try {
mark = raf.getFilePointer();
markleft = left;
} catch (IOException e) {
//e.printStackTrace();
}
}
+ @Override
public boolean markSupported() {
return true;
}
+ @Override
public synchronized void reset() throws IOException {
raf.seek(mark);
left = markleft;
}
+ @Override
public long skip(long n) throws IOException {
if( n < 0)
return 0;
if (n > left)
n = left;
@@ -93,10 +99,11 @@
raf.seek(p + n);
left -= n;
return n;
}
+ @Override
public int read(byte b[], int off, int len) throws IOException {
if (len > left)
len = (int)left;
if (left == 0)
return -1;
@@ -105,10 +112,11 @@
return -1;
left -= len;
return len;
}
+ @Override
public int read(byte[] b) throws IOException {
int len = b.length;
if (len > left)
len = (int)left;
if (left == 0)
@@ -118,20 +126,22 @@
return -1;
left -= len;
return len;
}
+ @Override
public int read() throws IOException {
if (left == 0)
return -1;
int b = raf.read();
if (b == -1)
return -1;
left--;
return b;
}
+ @Override
public void close() throws IOException {
raf.close();
}
}
< prev index next >