deroutputstream.java

来自「java 文件下载器。可自定义」· Java 代码 · 共 83 行

JAVA
83
字号
// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://kpdus.tripod.com/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi space 
// Source File Name:   DEROutputStream.java

package org.bouncycastle.asn1;

import java.io.*;

// Referenced classes of package org.bouncycastle.asn1:
//			DEREncodable, DERObject, DERTags

public class DEROutputStream extends FilterOutputStream
	implements DERTags
{

	public DEROutputStream(OutputStream os)
	{
		super(os);
	}

	private void writeLength(int length)
		throws IOException
	{
		if (length > 127)
		{
			int size = 1;
			for (int val = length; (val >>>= 8) != 0;)
				size++;

			write((byte)(size | 0x80));
			for (int i = (size - 1) * 8; i >= 0; i -= 8)
				write((byte)(length >> i));

		} else
		{
			write((byte)length);
		}
	}

	void writeEncoded(int tag, byte bytes[])
		throws IOException
	{
		write(tag);
		writeLength(bytes.length);
		write(bytes);
	}

	protected void writeNull()
		throws IOException
	{
		write(5);
		write(0);
	}

	public void write(byte buf[])
		throws IOException
	{
		out.write(buf, 0, buf.length);
	}

	public void write(byte buf[], int offSet, int len)
		throws IOException
	{
		out.write(buf, offSet, len);
	}

	public void writeObject(Object obj)
		throws IOException
	{
		if (obj == null)
			writeNull();
		else
		if (obj instanceof DERObject)
			((DERObject)obj).encode(this);
		else
		if (obj instanceof DEREncodable)
			((DEREncodable)obj).getDERObject().encode(this);
		else
			throw new IOException("object not DEREncodable");
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?