@Override public synchronized void setLength(long length) throws IOException { if (fileInfo == null) { fileInfo = new FileInfo(createFile(name)); } try { setLength(fileInfo.open(), length, true); } finally { fileInfo.close(); } }
@Override public synchronized void setLength(long length) throws IOException { if (fileInfo == null) { fileInfo = new FileInfo(createFile(name)); } try { setLength(fileInfo.open(), length, true); } finally { fileInfo.close(); } }
@Override public synchronized void setLength(long length) throws IOException { if (fileInfo == null) { fileInfo = new FileInfo(createFile(name)); } try { setLength(fileInfo.open(), length, true); } finally { fileInfo.close(); } }
@Override protected synchronized int readWrite(long fileOffset, byte[] b, int offSet, int length, boolean write) throws IOException { if (!write) { if (fileInfo == null) { return -1; } try { RandomAccessFile fileAccess = fileInfo.open(); fileAccess.seek(fileOffset); return fileAccess.read(b, offSet, length); } finally { fileInfo.close(); } } if (fileInfo == null) { fileInfo = new FileInfo(createFile(name)); } try { RandomAccessFile fileAccess = fileInfo.open(); long newLength = fileOffset + length; setLength(fileAccess, newLength, false); fileAccess.seek(fileOffset); fileAccess.write(b, offSet, length); } finally { fileInfo.close(); } return length; }
@Override protected synchronized int readWrite(long fileOffset, byte[] b, int offSet, int length, boolean write) throws IOException { if (!write) { if (fileInfo == null) { return -1; } try { RandomAccessFile fileAccess = fileInfo.open(); fileAccess.seek(fileOffset); return fileAccess.read(b, offSet, length); } finally { fileInfo.close(); } } if (fileInfo == null) { fileInfo = new FileInfo(createFile(name)); } try { RandomAccessFile fileAccess = fileInfo.open(); long newLength = fileOffset + length; setLength(fileAccess, newLength, false); fileAccess.seek(fileOffset); fileAccess.write(b, offSet, length); } finally { fileInfo.close(); } return length; }
@Override protected synchronized int readWrite(long fileOffset, byte[] b, int offSet, int length, boolean write) throws IOException { if (!write) { if (fileInfo == null) { return -1; } try { RandomAccessFile fileAccess = fileInfo.open(); fileAccess.seek(fileOffset); return fileAccess.read(b, offSet, length); } finally { fileInfo.close(); } } if (fileInfo == null) { fileInfo = new FileInfo(createFile(name)); } try { RandomAccessFile fileAccess = fileInfo.open(); long newLength = fileOffset + length; setLength(fileAccess, newLength, false); fileAccess.seek(fileOffset); fileAccess.write(b, offSet, length); } finally { fileInfo.close(); } return length; }