Track and seek to the current position in RandomAccessFileOutputStream

This commit is contained in:
Ben Gruver
2012-12-28 17:40:46 -08:00
parent b85cfe5cc8
commit 3d0419c963
2 changed files with 10 additions and 2 deletions

View File

@ -37,21 +37,29 @@ import java.io.OutputStream;
import java.io.RandomAccessFile;
public class RandomAccessFileOutputStream extends OutputStream {
private int filePosition;
@Nonnull private final RandomAccessFile raf;
public RandomAccessFileOutputStream(@Nonnull RandomAccessFile raf) {
public RandomAccessFileOutputStream(@Nonnull RandomAccessFile raf, int startFilePosition) {
this.filePosition = startFilePosition;
this.raf = raf;
}
@Override public void write(int b) throws IOException {
raf.seek(filePosition);
filePosition++;
raf.write(b);
}
@Override public void write(byte[] b) throws IOException {
raf.seek(filePosition);
filePosition += b.length;
raf.write(b);
}
@Override public void write(byte[] b, int off, int len) throws IOException {
raf.seek(filePosition);
filePosition += len;
raf.write(b, off, len);
}
}