@Override public InputStream newInputStream() { FileMemData obj = getMemoryFile(); FileMem m = new FileMem(obj, true); return new FileChannelInputStream(m, true); }
@Override public boolean isAbsolute() { String fileName = translateFileName(name); return FilePath.get(fileName).isAbsolute(); }
@Override public OutputStream newOutputStream(boolean append) throws IOException { FileNioMemData obj = getMemoryFile(); FileNioMem m = new FileNioMem(obj, false); return new FileChannelOutputStream(m, append); }
@Override public InputStream newInputStream() { FileNioMemData obj = getMemoryFile(); FileNioMem m = new FileNioMem(obj, true); return new FileChannelInputStream(m, true); }
@Override public OutputStream newOutputStream(boolean append) throws IOException { FileMemData obj = getMemoryFile(); FileMem m = new FileMem(obj, false); return new FileChannelOutputStream(m, append); }
@Override public FilePath createTempFile(String suffix, boolean deleteOnExit, boolean inTempDir) throws IOException { log(Recorder.CREATE_TEMP_FILE, unwrap(name) + ":" + suffix + ":" + deleteOnExit + ":" + inTempDir); return super.createTempFile(suffix, deleteOnExit, inTempDir); }
@Override public boolean createFile() { log(Recorder.CREATE_NEW_FILE, name); return super.createFile(); }
@Override public OutputStream newOutputStream(boolean append) throws IOException { log(Recorder.OPEN_OUTPUT_STREAM, name); return super.newOutputStream(append); }
private static void compressLater(ByteBuffer[] data, int page) { CompressItem c = new CompressItem(); c.data = data; c.page = page; synchronized (LZF) { COMPRESS_LATER.put(c, c); } }
private static void compressLater(byte[][] data, int page) { CompressItem c = new CompressItem(); c.data = data; c.page = page; synchronized (LZF) { COMPRESS_LATER.put(c, c); } }
@Override public long size() { return getMemoryFile().length(); }
@Override public FilePath createTempFile(String suffix, boolean deleteOnExit, boolean inTempDir) throws IOException { return wrap(base.createTempFile(suffix, deleteOnExit, inTempDir)); }
/** * Register this file system. */ public static void register() { FilePath.register(new FilePathEncrypt()); }