当前位置: 首页>>代码示例>>Java>>正文


Java ByteArrayInputStream.available方法代码示例

本文整理汇总了Java中java.io.ByteArrayInputStream.available方法的典型用法代码示例。如果您正苦于以下问题:Java ByteArrayInputStream.available方法的具体用法?Java ByteArrayInputStream.available怎么用?Java ByteArrayInputStream.available使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在java.io.ByteArrayInputStream的用法示例。


在下文中一共展示了ByteArrayInputStream.available方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: BlobToString

import java.io.ByteArrayInputStream; //导入方法依赖的package包/类
private String BlobToString(Blob blob) throws SQLException, IOException {

    String reString = "";
    InputStream is =  blob.getBinaryStream();

    ByteArrayInputStream bais = (ByteArrayInputStream)is;
    byte[] byte_data = new byte[bais.available()]; //bais.available()���ش����������ֽ���
    bais.read(byte_data, 0,byte_data.length);//���������е����ݶ���ָ��������
    reString = new String(byte_data,"utf-8"); //��תΪString����ʹ��ָ���ı��뷽ʽ
    is.close();

    return reString;
  }
 
开发者ID:Luodian,项目名称:Higher-Cloud-Computing-Project,代码行数:14,代码来源:DBcrud.java

示例2: decrypt

import java.io.ByteArrayInputStream; //导入方法依赖的package包/类
public static byte[] decrypt(BigInteger privKey, byte[] cipher, byte[] macData) throws IOException, InvalidCipherTextException {

        byte[] plaintext;

        ByteArrayInputStream is = new ByteArrayInputStream(cipher);
        byte[] ephemBytes = new byte[2*((CURVE.getCurve().getFieldSize()+7)/8) + 1];

        is.read(ephemBytes);
        ECPoint ephem = CURVE.getCurve().decodePoint(ephemBytes);
        byte[] IV = new byte[KEY_SIZE /8];
        is.read(IV);
        byte[] cipherBody = new byte[is.available()];
        is.read(cipherBody);

        plaintext = decrypt(ephem, privKey, IV, cipherBody, macData);

        return plaintext;
    }
 
开发者ID:Aptoide,项目名称:AppCoins-ethereumj,代码行数:19,代码来源:ECIESCoder.java

示例3: tlvParse

import java.io.ByteArrayInputStream; //导入方法依赖的package包/类
@Override
public TlvObject tlvParse(String data) {
	//输入流转换
	ByteArrayInputStream bais = new ByteArrayInputStream(EncodeUtil.bcd(data));
	//解析结果
	LinkedHashMap<String, TlvValue> values = new LinkedHashMap<String, TlvValue>();
	//构建结果对象
	TlvObject tlvObject = new Field55TlvObject(values);
	try{
		do{
			//依次解析
			Field55TlvValue tlvValue = read(bais);
			//放置结果
			values.put(tlvValue.getTagName(), tlvValue);
		}while(bais.available() > 0);
	}catch(IOException e){
		e.printStackTrace();
	}
	return tlvObject;
}
 
开发者ID:Ajsgn,项目名称:Java8583,代码行数:21,代码来源:Iso8583Filed55Parser.java

示例4: read

import java.io.ByteArrayInputStream; //导入方法依赖的package包/类
private void read () throws IOException
{
    int i;

    int offset = 0;
    final byte[] buffer = new byte[this.bufferSize];

    while ( ( i = this.stream.read ( buffer, offset, buffer.length - offset ) ) > 0 )
    {
        logger.debug ( String.format ( "Read %s bytes", i ) );

        final ByteArrayInputStream inputStream = new ByteArrayInputStream ( buffer, 0, i );
        handleNewInput ( new InputStreamReader ( inputStream ) );
        logger.debug ( String.format ( "%s byte(s) remaining", inputStream.available () ) );
        offset = inputStream.available ();

        if ( buffer.length - offset <= 0 )
        {
            throw new RuntimeException ( "Buffer is full" );
        }
    }
}
 
开发者ID:eclipse,项目名称:neoscada,代码行数:23,代码来源:StreamProcessor.java

示例5: decrypt

import java.io.ByteArrayInputStream; //导入方法依赖的package包/类
public static byte[] decrypt(BigInteger privKey, byte[] cipher, byte[] macData) throws IOException, InvalidCipherTextException {

        byte[] plaintext;

        ByteArrayInputStream is = new ByteArrayInputStream(cipher);
        byte[] ephemBytes = new byte[2*((CURVE.getCurve().getFieldSize()+7)/8) + 1];

        is.read(ephemBytes);
        ECPoint ephem = CURVE.getCurve().decodePoint(ephemBytes);
        byte[] iv = new byte[KEY_SIZE /8];
        is.read(iv);
        byte[] cipherBody = new byte[is.available()];
        is.read(cipherBody);

        plaintext = decrypt(ephem, privKey, iv, cipherBody, macData);

        return plaintext;
    }
 
开发者ID:rsksmart,项目名称:rskj,代码行数:19,代码来源:ECIESCoder.java

示例6: available

import java.io.ByteArrayInputStream; //导入方法依赖的package包/类
@Override
public int available() throws IOException {
  if (message != null) {
    try {
      partial = new ByteArrayInputStream(serializer.serialize(message));
      message = null;
      return partial.available();
    } catch (TException e) {
      throw Status.INTERNAL.withDescription("failed to serialize thrift message")
          .withCause(e).asRuntimeException();
    }
  } else if (partial != null) {
    return partial.available();
  }
  return 0;
}
 
开发者ID:grpc-ecosystem,项目名称:grift,代码行数:17,代码来源:ThriftInputStream.java

示例7: testDecoderKeepsAbstinence

import java.io.ByteArrayInputStream; //导入方法依赖的package包/类
private static void testDecoderKeepsAbstinence(Base64.Decoder dec)
        throws Throwable {
    List<Integer> vals = Arrays.asList(Integer.MIN_VALUE,
            Integer.MIN_VALUE + 1, -1111, -2, -1, 0, 1, 2, 3, 1111,
            Integer.MAX_VALUE - 1, Integer.MAX_VALUE,
            rnd.nextInt(), rnd.nextInt(), rnd.nextInt(),
            rnd.nextInt());
    byte[] buf = new byte[3];
    for (int off : vals) {
        for (int len : vals) {
            if (off >= 0 && len >= 0 && off <= buf.length - len) {
                // valid args, skip them
                continue;
            }
            // invalid args, test them
            System.out.println("testing off=" + off + ", len=" + len);

            String input = "AAAAAAAAAAAAAAAAAAAAAA";
            ByteArrayInputStream bais =
                    new ByteArrayInputStream(input.getBytes("Latin1"));
            try (InputStream is = dec.wrap(bais)) {
                is.read(buf, off, len);
                throw new RuntimeException("Expected IOOBEx was not thrown");
            } catch (IndexOutOfBoundsException expected) {
            }
            if (bais.available() != input.length())
                throw new RuntimeException("No input should be consumed, "
                        + "but consumed " + (input.length() - bais.available())
                        + " bytes");
        }
    }
}
 
开发者ID:lambdalab-mirror,项目名称:jdk8u-jdk,代码行数:33,代码来源:TestBase64.java

示例8: decrypt

import java.io.ByteArrayInputStream; //导入方法依赖的package包/类
/**
 * Decrypt the given entry.
 *
 * @param entry
 *          {@link MutableEntry} to encrypt.
 * @param result
 *          {@link MutableEntry} to write result to.
 * @param columnVisibility
 *          The parsed column visibility.
 *
 * @throws IOException
 *           Not actually thrown.
 */
void decrypt(MutableEntry entry, MutableEntry result, ColumnVisibility columnVisibility) throws IOException {
  ByteArrayInputStream ciphertextStream = new ByteArrayInputStream(entry.getBytes(config.destination));
  DataInput ciphertextIn = new DataInputStream(ciphertextStream);

  byte[] key = getKey(columnVisibility, ciphertextIn);
  byte[] ciphertext = new byte[ciphertextStream.available()];
  ciphertextIn.readFully(ciphertext);
  byte[] decryptedData = encryptor.decrypt(key, ciphertext);

  // Break apart the decrypted data.
  ByteArrayInputStream dataStream = new ByteArrayInputStream(decryptedData);
  DataInput dataIn = new DataInputStream(dataStream);

  for (EntryField source : config.sources) {
    switch (source) {
      case ROW:
      case COLUMN_FAMILY:
      case COLUMN_QUALIFIER:
      case COLUMN_VISIBILITY:
      case VALUE:
        int length = WritableUtils.readVInt(dataIn);
        byte[] bytes = new byte[length];
        dataIn.readFully(bytes);
        result.setBytes(source, bytes);
        break;

      // case TIMESTAMP:
      // result.timestamp = WritableUtils.readVLong(dataIn);
      // break;

      // case DELETE:
      // result.delete = dataIn.readBoolean();
      // break;

      default:
        throw new UnsupportedOperationException();
    }
  }
}
 
开发者ID:mit-ll,项目名称:PACE,代码行数:53,代码来源:FieldEncryptor.java

示例9: readExtensions

import java.io.ByteArrayInputStream; //导入方法依赖的package包/类
protected static Hashtable readExtensions(ByteArrayInputStream input)
    throws IOException
{

    if (input.available() < 1)
    {
        return null;
    }

    byte[] extBytes = TlsUtils.readOpaque16(input);

    assertEmpty(input);

    ByteArrayInputStream buf = new ByteArrayInputStream(extBytes);

    // Integer -> byte[]
    Hashtable extensions = new Hashtable();

    while (buf.available() > 0)
    {
        Integer extType = Integers.valueOf(TlsUtils.readUint16(buf));
        byte[] extValue = TlsUtils.readOpaque16(buf);

        /*
         * RFC 3546 2.3 There MUST NOT be more than one extension of the same type.
         */
        if (null != extensions.put(extType, extValue))
        {
            throw new TlsFatalAlert(AlertDescription.illegal_parameter);
        }
    }

    return extensions;
}
 
开发者ID:Appdome,项目名称:ipack,代码行数:35,代码来源:TlsProtocol.java

示例10: getArrayOfIntValues

import java.io.ByteArrayInputStream; //导入方法依赖的package包/类
/**
 * Returns array of int values.
 */
public int[] getArrayOfIntValues() {

    byte[] bufArray = (byte[])myValue;
    if (bufArray != null) {

        //ArrayList valList = new ArrayList();
        ByteArrayInputStream bufStream =
            new ByteArrayInputStream(bufArray);
        int available = bufStream.available();

        // total number of values is at the end of the stream
        bufStream.mark(available);
        bufStream.skip(available-1);
        int length = bufStream.read();
        bufStream.reset();

        int[] valueArray = new int[length];
        for (int i = 0; i < length; i++) {
            // read length
            int valLength = bufStream.read();
            if (valLength != 4) {
                // invalid data
                return null;
            }

            byte[] bufBytes = new byte[valLength];
            bufStream.read(bufBytes, 0, valLength);
            valueArray[i] = convertToInt(bufBytes);

        }
        return valueArray;
    }
    return null;
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:38,代码来源:AttributeClass.java

示例11: getBody

import java.io.ByteArrayInputStream; //导入方法依赖的package包/类
/**
 * Returns the raw POST or PUT body to be sent.
 *
 * <p>By default, the body consists of the request parameters in
 * application/x-www-form-urlencoded format. When overriding this method, consider overriding
 * {@link #getBodyContentType()} as well to match the new body format.
 *
 * @throws AuthFailureError in the event of auth failure
 */
@Override
public byte[] getBody() throws AuthFailureError {
    ByteArrayOutputStream bos = new ByteArrayOutputStream();
    DataOutputStream dos = new DataOutputStream(bos);

    try {
        ByteArrayInputStream fileInputStream = new ByteArrayInputStream(getPartData().getContent());
        int bytesAvailable = fileInputStream.available();

        int maxBufferSize = 1024 * 1024;
        int bufferSize = Math.min(bytesAvailable, maxBufferSize);
        byte[] buffer = new byte[bufferSize];

        int bytesRead = fileInputStream.read(buffer, 0, bufferSize);

        while (bytesRead > 0) {
            dos.write(buffer, 0, bufferSize);
            bytesAvailable = fileInputStream.available();
            bufferSize = Math.min(bytesAvailable, maxBufferSize);
            bytesRead = fileInputStream.read(buffer, 0, bufferSize);
        }

        return bos.toByteArray();
    } catch (IOException e) {
        e.printStackTrace();
    }
    return null;
}
 
开发者ID:neopixl,项目名称:Spitfire,代码行数:38,代码来源:UploadFileRequest.java

示例12: testDecoderKeepsAbstinence

import java.io.ByteArrayInputStream; //导入方法依赖的package包/类
private static void testDecoderKeepsAbstinence(Base64.Decoder dec)
        throws Throwable {
    List<Integer> vals = new ArrayList<>(List.of(Integer.MIN_VALUE,
            Integer.MIN_VALUE + 1, -1111, -2, -1, 0, 1, 2, 3, 1111,
            Integer.MAX_VALUE - 1, Integer.MAX_VALUE));
    vals.addAll(List.of(rnd.nextInt(), rnd.nextInt(), rnd.nextInt(),
            rnd.nextInt()));
    byte[] buf = new byte[3];
    for (int off : vals) {
        for (int len : vals) {
            if (off >= 0 && len >= 0 && off <= buf.length - len) {
                // valid args, skip them
                continue;
            }
            // invalid args, test them
            System.out.println("testing off=" + off + ", len=" + len);

            String input = "AAAAAAAAAAAAAAAAAAAAAA";
            ByteArrayInputStream bais =
                    new ByteArrayInputStream(input.getBytes("Latin1"));
            try (InputStream is = dec.wrap(bais)) {
                is.read(buf, off, len);
                throw new RuntimeException("Expected IOOBEx was not thrown");
            } catch (IndexOutOfBoundsException expected) {
            }
            if (bais.available() != input.length())
                throw new RuntimeException("No input should be consumed, "
                        + "but consumed " + (input.length() - bais.available())
                        + " bytes");
        }
    }
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:33,代码来源:TestBase64.java

示例13: getArrayOfStringValues

import java.io.ByteArrayInputStream; //导入方法依赖的package包/类
/**
 * Returns array of String values.
 */
public String[] getArrayOfStringValues() {

    byte[] bufArray = (byte[])myValue;
    if (bufArray != null) {
        ByteArrayInputStream bufStream =
            new ByteArrayInputStream(bufArray);
        int available = bufStream.available();

        // total number of values is at the end of the stream
        bufStream.mark(available);
        bufStream.skip(available-1);
        int length = bufStream.read();
        bufStream.reset();

        String[] valueArray = new String[length];
        for (int i = 0; i < length; i++) {
            // read length
            int valLength = bufStream.read();
            byte[] bufBytes = new byte[valLength];
            bufStream.read(bufBytes, 0, valLength);
            try {
                valueArray[i] = new String(bufBytes, "UTF-8");
            } catch (java.io.UnsupportedEncodingException uee) {
            }
        }
        return valueArray;
    }
    return null;
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:33,代码来源:AttributeClass.java

示例14: SmsStatusReportTpduImpl

import java.io.ByteArrayInputStream; //导入方法依赖的package包/类
public SmsStatusReportTpduImpl(byte[] data, Charset gsm8Charset) throws MAPException {
    this();

    if (data == null)
        throw new MAPException("Error creating a new SmsStatusReport instance: data is empty");
    if (data.length < 1)
        throw new MAPException("Error creating a new SmsStatusReport instance: data length is equal zero");

    ByteArrayInputStream stm = new ByteArrayInputStream(data);

    int bt = stm.read();
    if ((bt & _MASK_TP_UDHI) != 0)
        this.userDataHeaderIndicator = true;
    if ((bt & _MASK_TP_MMS) == 0)
        this.moreMessagesToSend = true;
    if ((bt & _MASK_TP_LP) != 0)
        this.forwardedOrSpawned = true;
    int code = (bt & _MASK_TP_SRQ) >> 5;
    this.statusReportQualifier = StatusReportQualifier.getInstance(code);

    this.messageReference = stm.read();
    if (this.messageReference == -1)
        throw new MAPException("Error creating a new SmsStatusReport instance: messageReference field has not been found");

    this.recipientAddress = AddressFieldImpl.createMessage(stm);
    this.serviceCentreTimeStamp = AbsoluteTimeStampImpl.createMessage(stm);
    this.dischargeTime = AbsoluteTimeStampImpl.createMessage(stm);

    bt = stm.read();
    if (bt == -1)
        throw new MAPException("Error creating a new SmsStatusReport instance: Status field has not been found");
    this.status = new StatusImpl(bt);

    bt = stm.read();
    if (bt == -1)
        this.parameterIndicator = new ParameterIndicatorImpl(0);
    else
        this.parameterIndicator = new ParameterIndicatorImpl(bt);

    if (this.parameterIndicator.getTP_PIDPresence()) {
        bt = stm.read();
        if (bt == -1)
            throw new MAPException(
                    "Error creating a new SmsStatusReport instance: protocolIdentifier field has not been found");
        this.protocolIdentifier = new ProtocolIdentifierImpl(bt);
    }

    if (this.parameterIndicator.getTP_DCSPresence()) {
        bt = stm.read();
        if (bt == -1)
            throw new MAPException(
                    "Error creating a new SmsStatusReport instance: dataCodingScheme field has not been found");
        this.dataCodingScheme = new DataCodingSchemeImpl(bt);
    }

    if (this.parameterIndicator.getTP_UDLPresence()) {
        this.userDataLength = stm.read();
        if (this.userDataLength == -1)
            throw new MAPException("Error creating a new SmsStatusReport instance: userDataLength field has not been found");

        int avail = stm.available();
        byte[] buf = new byte[avail];
        try {
            stm.read(buf);
        } catch (IOException e) {
            throw new MAPException("IOException while creating a new SmsStatusReport instance: " + e.getMessage(), e);
        }
        userData = new UserDataImpl(buf, dataCodingScheme, userDataLength, userDataHeaderIndicator, gsm8Charset);
    }
}
 
开发者ID:RestComm,项目名称:phone-simulator,代码行数:71,代码来源:SmsStatusReportTpduImpl.java

示例15: SmsDeliverReportTpduImpl

import java.io.ByteArrayInputStream; //导入方法依赖的package包/类
public SmsDeliverReportTpduImpl(byte[] data, Charset gsm8Charset) throws MAPException {
    this();

    if (data == null)
        throw new MAPException("Error creating a new SmsDeliverReportTpdu instance: data is empty");
    if (data.length < 1)
        throw new MAPException("Error creating a new SmsDeliverReportTpdu instance: data length is equal zero");

    ByteArrayInputStream stm = new ByteArrayInputStream(data);

    int bt = stm.read();
    if ((bt & _MASK_TP_UDHI) != 0)
        this.userDataHeaderIndicator = true;

    bt = stm.read();
    if (bt == -1)
        throw new MAPException(
                "Error creating a new SmsDeliverReportTpdu instance: Failure-Cause and Parameter-Indicator fields have not been found");
    if ((bt & 0x80) != 0) {
        // Failure-Cause exists
        this.failureCause = new FailureCauseImpl(bt);

        bt = stm.read();
        if (bt == -1)
            throw new MAPException(
                    "Error creating a new SmsDeliverReportTpdu instance: Parameter-Indicator field has not been found");
    }

    this.parameterIndicator = new ParameterIndicatorImpl(bt);

    if (this.parameterIndicator.getTP_PIDPresence()) {
        bt = stm.read();
        if (bt == -1)
            throw new MAPException(
                    "Error creating a new SmsDeliverTpduImpl instance: protocolIdentifier field has not been found");
        this.protocolIdentifier = new ProtocolIdentifierImpl(bt);
    }

    if (this.parameterIndicator.getTP_DCSPresence()) {
        bt = stm.read();
        if (bt == -1)
            throw new MAPException(
                    "Error creating a new SmsDeliverTpduImpl instance: dataCodingScheme field has not been found");
        this.dataCodingScheme = new DataCodingSchemeImpl(bt);
    }

    if (this.parameterIndicator.getTP_UDLPresence()) {
        this.userDataLength = stm.read();
        if (this.userDataLength == -1)
            throw new MAPException(
                    "Error creating a new SmsDeliverTpduImpl instance: userDataLength field has not been found");

        int avail = stm.available();
        byte[] buf = new byte[avail];
        try {
            stm.read(buf);
        } catch (IOException e) {
            throw new MAPException("IOException while creating a new SmsDeliverTpduImpl instance: " + e.getMessage(), e);
        }
        userData = new UserDataImpl(buf, dataCodingScheme, userDataLength, userDataHeaderIndicator, gsm8Charset);
    }
}
 
开发者ID:RestComm,项目名称:phone-simulator,代码行数:63,代码来源:SmsDeliverReportTpduImpl.java


注:本文中的java.io.ByteArrayInputStream.available方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。