protected int pad(DataOutputStream stream, int nbytes, byte fill) throws IOException { int pad = N3header.padding(nbytes); if (null != stream) { for (int i = 0; i < pad; i++) stream.write(fill); } return pad; }
protected int pad(DataOutputStream stream, int nbytes, byte fill) throws IOException { int pad = N3header.padding(nbytes); if (null != stream) { for (int i = 0; i < pad; i++) stream.write(fill); } return pad; }
protected int pad(DataOutputStream stream, int nbytes, byte fill) throws IOException { int pad = N3header.padding(nbytes); if (null != stream) { for (int i = 0; i < pad; i++) stream.write(fill); } return pad; }
private int sizeString(String s) { int size = s.length() + 4; return size + padding(s.length()); }
private int sizeString(String s) { int size = s.length() + 4; return size + padding(s.length()); }
private int pad(WritableByteChannel channel, int nbytes) throws IOException { int pad = N3header.padding(nbytes); if ((null != channel) && (pad > 0)) { if (padddingBB == null) padddingBB = ByteBuffer.allocate(4); // just 4 zero bytes padddingBB.position(0); padddingBB.limit(pad); channel.write( padddingBB); } return pad; }
private int sizeString(String s) { int size = s.length() + 4; return size + padding(s.length()); }
private int pad(WritableByteChannel channel, int nbytes) throws IOException { int pad = N3header.padding(nbytes); if ((null != channel) && (pad > 0)) { if (padddingBB == null) padddingBB = ByteBuffer.allocate(4); // just 4 zero bytes padddingBB.position(0); padddingBB.limit(pad); channel.write( padddingBB); } return pad; }
private int pad(WritableByteChannel channel, int nbytes) throws IOException { int pad = N3header.padding(nbytes); if ((null != channel) && (pad > 0)) { if (padddingBB == null) padddingBB = ByteBuffer.allocate(4); // just 4 zero bytes padddingBB.position(0); padddingBB.limit(pad); channel.write( padddingBB); } return pad; }
private void pad(int nbytes, byte fill) throws IOException { int pad = padding(nbytes); for (int i = 0; i < pad; i++) raf.write(fill); }
private void pad(int nbytes, byte fill) throws IOException { int pad = padding(nbytes); for (int i = 0; i < pad; i++) raf.write(fill); }
private void pad(int nbytes, byte fill) throws IOException { int pad = padding(nbytes); for (int i = 0; i < pad; i++) raf.write(fill); }
private void skip(int nbytes) throws IOException { int pad = padding(nbytes); if (pad > 0) raf.seek(raf.getFilePointer() + pad); }
private void skip(int nbytes) throws IOException { int pad = padding(nbytes); if (pad > 0) raf.seek(raf.getFilePointer() + pad); }
private void skip(int nbytes) throws IOException { int pad = padding(nbytes); if (pad > 0) raf.seek(raf.getFilePointer() + pad); }
private Vinfo writeVar(DataOutputStream stream, Variable var, int offset) throws IOException { int hsize = 0; hsize += writeString(stream, N3iosp.makeValidNetcdfObjectName( var.getShortName())); // dimensions int vsize = var.getDataType().getSize(); List<Dimension> dims = var.getDimensions(); if (null != stream) stream.writeInt(dims.size()); hsize += 4; for (Dimension dim : dims) { int dimIndex = findDimensionIndex(dim); if (null != stream) stream.writeInt(dimIndex); hsize += 4; if (!dim.isUnlimited()) vsize *= dim.getLength(); } int pad = (usePadding) ? N3header.padding(vsize) : 0; vsize += pad; // variable attributes hsize += writeAtts(stream, var.getAttributes()); // data type, variable size, beginning file position int type = N3header.getType(var.getDataType()); if (null != stream) { stream.writeInt(type); stream.writeInt(vsize); stream.writeInt(offset); } hsize += 12; //if (debug) out.println(" name= "+name+" type="+type+" vsize="+vsize+" begin= "+begin+" isRecord="+isRecord+"\n"); return new Vinfo(var, hsize, vsize, offset, pad, var.isUnlimited()); }
private Vinfo writeVar(DataOutputStream stream, Variable var, int offset) throws IOException { int hsize = 0; hsize += writeString(stream, N3iosp.makeValidNetcdfObjectName( var.getShortName())); // dimensions int vsize = var.getDataType().getSize(); List<Dimension> dims = var.getDimensions(); if (null != stream) stream.writeInt(dims.size()); hsize += 4; for (Dimension dim : dims) { int dimIndex = findDimensionIndex(dim); if (null != stream) stream.writeInt(dimIndex); hsize += 4; if (!dim.isUnlimited()) vsize *= dim.getLength(); } int pad = (usePadding) ? N3header.padding(vsize) : 0; vsize += pad; // variable attributes hsize += writeAtts(stream, var.getAttributes()); // data type, variable size, beginning file position int type = N3header.getType(var.getDataType()); if (null != stream) { stream.writeInt(type); stream.writeInt(vsize); stream.writeInt(offset); } hsize += 12; //if (debug) out.println(" name= "+name+" type="+type+" vsize="+vsize+" begin= "+begin+" isRecord="+isRecord+"\n"); return new Vinfo(var, hsize, vsize, offset, pad, var.isUnlimited()); }
private int sizeAtts(List<Attribute> atts) { int size = 8; // magic, natts for (Attribute att : atts) { size += sizeString(att.getShortName()); size += 4; // type int type = getType(att.getDataType()); if (type == 2) { size += sizeStringValues(att); } else { size += 4; // nelems int nelems = att.getLength(); int nbytes = 0; for (int j = 0; j < nelems; j++) nbytes += sizeAttributeValue(att.getNumericValue(j)); size += nbytes; size += padding(nbytes); } } return size; }
private int sizeAtts(List<Attribute> atts) { int size = 8; // magic, natts for (Attribute att : atts) { size += sizeString(att.getShortName()); size += 4; // type int type = getType(att.getDataType()); if (type == 2) { size += sizeStringValues(att); } else { size += 4; // nelems int nelems = att.getLength(); int nbytes = 0; for (int j = 0; j < nelems; j++) nbytes += sizeAttributeValue(att.getNumericValue(j)); size += nbytes; size += padding(nbytes); } } return size; }
private int sizeAtts(List<Attribute> atts) { int size = 8; // magic, natts for (Attribute att : atts) { size += sizeString(att.getShortName()); size += 4; // type int type = getType(att.getDataType()); if (type == 2) { size += sizeStringValues(att); } else { size += 4; // nelems int nelems = att.getLength(); int nbytes = 0; for (int j = 0; j < nelems; j++) nbytes += sizeAttributeValue(att.getNumericValue(j)); size += nbytes; size += padding(nbytes); } } return size; }