本文整理汇总了C#中Entry.OpenInputStream方法的典型用法代码示例。如果您正苦于以下问题:C# Entry.OpenInputStream方法的具体用法?C# Entry.OpenInputStream怎么用?C# Entry.OpenInputStream使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Entry
的用法示例。
在下文中一共展示了Entry.OpenInputStream方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: IdBufferBlob
private byte[] IdBufferBlob(Entry entry)
{
try
{
FileStream @is = entry.OpenInputStream();
if (@is == null)
{
return ZeroId;
}
try
{
InitializeDigest();
_contentDigest.Reset();
_contentDigest.Update(HBlob);
_contentDigest.Update((byte)' ');
long blobLength = entry.Length;
long size = blobLength;
if (size == 0)
{
_contentDigest.Update((byte)'0');
}
else
{
int bufn = _contentReadBuffer.Length;
int p = bufn;
do
{
_contentReadBuffer[--p] = Digits[(int)(size % 10)];
size /= 10;
} while (size > 0);
_contentDigest.Update(_contentReadBuffer, p, bufn - p);
}
_contentDigest.Update(0);
while (true)
{
int r = @is.Read(_contentReadBuffer, 0, _contentReadBuffer.Length); // was: Read(_contentReadBuffer) in java
if (r <= 0) break;
_contentDigest.Update(_contentReadBuffer, 0, r);
size += r;
}
if (size != blobLength)
{
return ZeroId;
}
return _contentDigest.Digest();
}
finally
{
try
{
@is.Close();
}
catch (IOException)
{
// Suppress any error related to closing an input
// stream. We don't care, we should not have any
// outstanding data to flush or anything like that.
}
}
}
catch (IOException)
{
// Can't Read the file? Don't report the failure either.
//
}
return ZeroId;
}