public abstract long getCapacity();</BUG>
public abstract int locationAffinity();
public abstract int storageAffinity();
public abstract long getToken();
public abstract long getFd();
<BUG>public abstract CrailBlockLocation[] getBlockLocations(long start, long len) throws Exception;</BUG>
public abstract void close() throws Exception;
<BUG>public CrailBufferedInputStream getBufferedInputStream(long readHint) throws Exception {
</BUG>
CrailInputStream stream = getDirectInputStream(readHint);

package com.ibm.crail;
public interface CrailFile extends CrailNode {
public abstract CrailInputStream getDirectInputStream(long readHint) throws Exception;
public abstract CrailOutputStream getDirectOutputStream(long writeHint) throws Exception;
public abstract CrailBlockLocation[] getBlockLocations(long start, long len) throws Exception;
public abstract int locationAffinity();
public abstract int storageAffinity();
public abstract long getToken();
public abstract long getFd();
public abstract void close() throws Exception;
default CrailBufferedInputStream getBufferedInputStream(long readHint) throws Exception {
CrailInputStream stream = getDirectInputStream(readHint);
