本文整理汇总了C#中Zephyr.Utils.NPOI.HSSF.Record.RecordInputStream.ReadFully方法的典型用法代码示例。如果您正苦于以下问题:C# RecordInputStream.ReadFully方法的具体用法?C# RecordInputStream.ReadFully怎么用?C# RecordInputStream.ReadFully使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Zephyr.Utils.NPOI.HSSF.Record.RecordInputStream
的用法示例。
在下文中一共展示了RecordInputStream.ReadFully方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: TableStylesRecord
public TableStylesRecord(RecordInputStream in1)
{
rt = in1.ReadUShort();
grbitFrt = in1.ReadUShort();
in1.ReadFully(unused);
cts = in1.ReadInt();
int cchDefListStyle = in1.ReadUShort();
int cchDefPivotStyle = in1.ReadUShort();
rgchDefListStyle = in1.ReadUnicodeLEString(cchDefListStyle);
rgchDefPivotStyle = in1.ReadUnicodeLEString(cchDefPivotStyle);
}
示例2: WriteAccessRecord
/**
* Constructs a WriteAccess record and Sets its fields appropriately.
* @param in the RecordInputstream to Read the record from
*/
public WriteAccessRecord(RecordInputStream in1)
{
if (in1.Remaining > DATA_SIZE)
{
throw new RecordFormatException("Expected data size (" + DATA_SIZE + ") but got ("
+ in1.Remaining + ")");
}
// The string is always 112 characters (padded with spaces), therefore
// this record can not be continued.
int nChars = in1.ReadUShort();
int is16BitFlag = in1.ReadUByte();
if (nChars > DATA_SIZE || (is16BitFlag & 0xFE) != 0)
{
// String header looks wrong (probably missing)
// OOO doc says this is optional anyway.
// reconstruct data
byte[] data = new byte[3 + in1.Remaining];
LittleEndian.PutUShort(data, 0, nChars);
LittleEndian.PutByte(data, 2, is16BitFlag);
in1.ReadFully(data, 3, data.Length - 3);
char[] data1=new char[data.Length];
for (int i = 0; i < data.Length; i++)
{
data1[i] = (char)data[i];
}
String rawValue = new String(data1);
Username = rawValue.Trim();
return;
}
String rawText;
if ((is16BitFlag & 0x01) == 0x00)
{
rawText = StringUtil.ReadCompressedUnicode(in1, nChars);
}
else
{
rawText = StringUtil.ReadUnicodeLE(in1, nChars);
}
field_1_username = rawText.Trim();
// consume padding
int padSize = in1.Remaining;
while (padSize > 0)
{
// in some cases this seems to be garbage (non spaces)
in1.ReadUByte();
padSize--;
}
}
示例3: ChartEndBlockRecord
public ChartEndBlockRecord(RecordInputStream in1)
{
rt = in1.ReadShort();
grbitFrt = in1.ReadShort();
iObjectKind = in1.ReadShort();
// Often, but not always has 6 unused bytes at the end
if(in1.Available() == 0) {
unused = new byte[0];
} else {
unused = new byte[6];
in1.ReadFully(unused);
}
}
示例4: ChartEndObjectRecord
public ChartEndObjectRecord(RecordInputStream in1)
{
rt = in1.ReadShort();
grbitFrt = in1.ReadShort();
iObjectKind = in1.ReadShort();
reserved = new byte[6];
// The spec says that there should be 6 bytes at the
// end, which must be there and must be zero
// However, sometimes Excel forgets them...
reserved = new byte[6];
if (in1.Available() == 0)
{
// They've gone missing...
}
else
{
// Read the reserved bytes
in1.ReadFully(reserved);
}
}
示例5: Read
private static byte[] Read(RecordInputStream in1, int size)
{
byte[] result = new byte[size];
in1.ReadFully(result);
return result;
}
示例6: HyperlinkRecord
//.........这里部分代码省略.........
if ((_linkOpts & HLINK_LABEL) != 0)
{
int label_len = in1.ReadInt();
_label = in1.ReadUnicodeLEString(label_len);
}
if ((_linkOpts & HLINK_TARGET_FRAME) != 0)
{
int len = in1.ReadInt();
_targetFrame = in1.ReadUnicodeLEString(len);
}
if ((_linkOpts & HLINK_URL) != 0 && (_linkOpts & HLINK_UNC_PATH) != 0)
{
_moniker = null;
int nChars = in1.ReadInt();
_address = in1.ReadUnicodeLEString(nChars);
}
if ((_linkOpts & HLINK_URL) != 0 && (_linkOpts & HLINK_UNC_PATH) == 0)
{
_moniker = new GUID(in1);
if (URL_MONIKER.Equals(_moniker))
{
int length = in1.ReadInt();
/*
* The value of <code>length<code> be either the byte size of the url field
* (including the terminating NULL character) or the byte size of the url field plus 24.
* If the value of this field is set to the byte size of the url field,
* then the tail bytes fields are not present.
*/
int remaining = in1.Remaining;
if (length == remaining)
{
int nChars = length / 2;
_address = in1.ReadUnicodeLEString(nChars);
}
else
{
int nChars = (length - TAIL_SIZE) / 2;
_address = in1.ReadUnicodeLEString(nChars);
/*
* TODO: make sense of the remaining bytes
* According to the spec they consist of:
* 1. 16-byte GUID: This field MUST equal
* {0xF4815879, 0x1D3B, 0x487F, 0xAF, 0x2C, 0x82, 0x5D, 0xC4, 0x85, 0x27, 0x63}
* 2. Serial version, this field MUST equal 0 if present.
* 3. URI Flags
*/
_uninterpretedTail = ReadTail(URL_uninterpretedTail, in1);
}
}
else if (FILE_MONIKER.Equals(_moniker))
{
_fileOpts = in1.ReadShort();
int len = in1.ReadInt();
_shortFilename = StringUtil.ReadCompressedUnicode(in1, len);
_uninterpretedTail = ReadTail(FILE_uninterpretedTail, in1);
int size = in1.ReadInt();
if (size > 0)
{
int charDataSize = in1.ReadInt();
//From the spec: An optional unsigned integer that MUST be 3 if present
int optFlags = in1.ReadUShort();
if (optFlags != 0x0003)
{
throw new RecordFormatException("Expected 0x3 but found " + optFlags);
}
_address = StringUtil.ReadUnicodeLE(in1, charDataSize / 2);
}
else
{
_address = null;
}
}
else if (STD_MONIKER.Equals(_moniker))
{
_fileOpts = in1.ReadShort();
int len = in1.ReadInt();
byte[] path_bytes = new byte[len];
in1.ReadFully(path_bytes);
_address = Encoding.UTF8.GetString(path_bytes);
}
}
if ((_linkOpts & HLINK_PLACE) != 0)
{
int len = in1.ReadInt();
_textMark = in1.ReadUnicodeLEString(len);
}
if (in1.Remaining > 0)
{
Console.WriteLine(HexDump.ToHex(in1.ReadRemainder()));
}
}