package com.yoursway.utils.io;
import java.io.IOException;
import java.io.OutputStream;
import java.io.RandomAccessFile;
public class RandomAccessFileOutputStream extends OutputStream {
private final RandomAccessFile raf;
private final StreamCloseBehavior closeBehavior;
public RandomAccessFileOutputStream(RandomAccessFile raf, StreamCloseBehavior closeBehavior) {
if (raf == null)
throw new NullPointerException("raf is null");
if (closeBehavior == null)
throw new NullPointerException("closeBehavior is null");
this.raf = raf;
this.closeBehavior = closeBehavior;
}
@Override
public void write(int b) throws IOException {
raf.write(b);
}
@Override
public void write(byte[] b, int off, int len) throws IOException {
raf.write(b, off, len);
}
@Override
public void close() throws IOException {
closeBehavior.close(raf);
}
}