private void parseData(ByteBuffer buf) throws IOException { //read in file header readHeader(buf); while (buf.remaining() > 0) { readData(buf); } if (!mcosToFind.isEmpty()) { parseMCOS(mcosData, mcosToFind); if (data.get("@") == mcosData) { data.remove("@"); } for (Map.Entry<String, MLArray> it : data.entrySet()) { if (it.getValue() == mcosData) { data.remove(it.getKey()); break; } } } mcosData = null; mcosToFind.clear(); }
private void parseData(ByteBuffer buf) throws IOException { //read in file header readHeader(buf); while (buf.remaining() > 0) { readData(buf); } if (!mcosToFind.isEmpty()) { parseMCOS(mcosData, mcosToFind); if (data.get("@") == mcosData) { data.remove("@"); } for (Map.Entry<String, MLArray> it : data.entrySet()) { if (it.getValue() == mcosData) { data.remove(it.getKey()); break; } } } mcosData = null; mcosToFind.clear(); }
private boolean init() throws IOException { final EnhancedRandomAccessFile raFile = new EnhancedRandomAccessFile(inputFile, "r"); final FileChannel roChannel = raFile.getChannel(); final ByteBuffer buf = ByteBuffer.allocateDirect(128); roChannel.read(buf, 0); buf.rewind(); try { readHeader(buf); } catch (MatlabIOException mlio) { return false; } finally { if (roChannel != null) { try { roChannel.close(); } catch (Throwable ioe){ } } if (raFile != null) { try { raFile.close(); } catch (Throwable ioe){ } } } if (matFileHeader != null) return true; return false; }
/** Reads a full set of bytes (including the header). */ public static MatFile readFull(ByteBuffer buf, MatFileType type) throws IOException { MatFileReader reader = new MatFileReader(type); reader.readHeader(buf); while (buf.remaining() > 0) { reader.readData(buf); } return new MatFile(reader.getMatFileHeader(), reader.getContent()); }
/** Reads a full set of bytes (including the header). */ public static MatFile readFull(ByteBuffer buf, MatFileType type) throws IOException { MatFileReader reader = new MatFileReader(type); reader.readHeader(buf); while (buf.remaining() > 0) { reader.readData(buf); } return new MatFile(reader.getMatFileHeader(), reader.getContent()); }