Java Code Examples for java.io.ByteArrayInputStream#read()
The following examples show how to use
java.io.ByteArrayInputStream#read() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: Leb128.java From ghidra with Apache License 2.0 | 6 votes |
/** * Reads an signed integer from {@code in}. */ public static int readSignedLeb128( ByteArrayInputStream in ) { int result = 0; int cur; int count = 0; int signBits = -1; do { cur = in.read( ) & 0xff; result |= ( cur & 0x7f ) << ( count * 7 ); signBits <<= 7; count++; } while ( ( ( cur & 0x80 ) == 0x80 ) && count < 5 ); if ( ( cur & 0x80 ) == 0x80 ) { throw new DexException( "invalid LEB128 sequence" ); } // Sign extend if appropriate if ( ( ( signBits >> 1 ) & result ) != 0 ) { result |= signBits; } return result; }
Example 2
Source File: AttributeClass.java From jdk8u_jdk with GNU General Public License v2.0 | 6 votes |
/** * Returns String value. */ public String getStringValue() { //assumes only 1 attribute value. Will get the first value // if > 1. String strVal = null; byte[] bufArray = (byte[])myValue; if (bufArray != null) { ByteArrayInputStream bufStream = new ByteArrayInputStream(bufArray); int valLength = bufStream.read(); byte[] strBytes = new byte[valLength]; bufStream.read(strBytes, 0, valLength); try { strVal = new String(strBytes, "UTF-8"); } catch (java.io.UnsupportedEncodingException uee) { } } return strVal; }
Example 3
Source File: BCCryptoHelper.java From OpenAs2App with BSD 2-Clause "Simplified" License | 6 votes |
protected InputStream trimCRLFPrefix(byte[] data) { ByteArrayInputStream bIn = new ByteArrayInputStream(data); int scanPos = 0; int len = data.length; while (scanPos < (len - 1)) { if (new String(data, scanPos, 2).equals("\r\n")) { bIn.read(); bIn.read(); scanPos += 2; } else { return bIn; } } return bIn; }
Example 4
Source File: AuthenticationFactory.java From MicroCommunity with Apache License 2.0 | 6 votes |
/** * 解密 * * @param data * @param privateKey * @param keySize * @return * @throws Exception */ public static byte[] decrypt(byte[] data, PrivateKey privateKey, int keySize) throws Exception { Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1PADDING", "BC"); cipher.init(Cipher.DECRYPT_MODE, privateKey); int blockSize = keySize >> 3; ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(data); ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); byte[] buf = new byte[blockSize]; int len = 0; while ((len = byteArrayInputStream.read(buf)) > 0) { byteArrayOutputStream.write(cipher.doFinal(buf, 0, len)); } return byteArrayOutputStream.toByteArray(); }
Example 5
Source File: RocksDBStore.java From dremio-oss with Apache License 2.0 | 6 votes |
@Override public RocksEntry filterGet(byte[] valueFromRocks) { if (isRawValue(valueFromRocks)) { if (valueFromRocks == null) { return null; } return new RocksEntry(null, valueFromRocks); } try { // Slice off the prefix byte and start parsing where the metadata block is. final ByteArrayInputStream bais = new ByteArrayInputStream(valueFromRocks, 1, valueFromRocks.length); final Rocks.Meta meta = parseMetaAfterPrefix(bais); // We know this is not a blob because we are using the inline blob manager. Assume the value // is the rest of the byte array. final byte[] result = new byte[bais.available()]; bais.read(result); return new RocksEntry(meta, result); } catch (IOException e) { throw new RuntimeException(e); } }
Example 6
Source File: AbstractDyldInfoProcessor.java From ghidra with Apache License 2.0 | 6 votes |
/** * Signed Little-endian Base-128 */ protected long sleb128( ByteArrayInputStream byteStream, TaskMonitor monitor ) throws Exception { long result = 0; int bit = 0; while ( !monitor.isCancelled() ) { int value = byteStream.read(); if ( value == -1 ) { break; } byte nextByte = (byte) value; result |= ( ( nextByte & 0x7f ) << bit ); bit += 7; if ( ( nextByte & 0x80 ) == 0 ) { break; } } return result; }
Example 7
Source File: Protobuf3.java From PacketProxy with Apache License 2.0 | 5 votes |
public static boolean validateVar(ByteArrayInputStream input) { byte[] raw = new byte[input.available()]; input.mark(input.available()); input.read(raw, 0, input.available()); boolean ret = validateVar(raw); input.reset(); return ret; }
Example 8
Source File: LocalFilesystem.java From reader with MIT License | 5 votes |
@Override public long writeToFileAtURL(LocalFilesystemURL inputURL, String data, int offset, boolean isBinary) throws IOException, NoModificationAllowedException { boolean append = false; if (offset > 0) { this.truncateFileAtURL(inputURL, offset); append = true; } byte[] rawData; if (isBinary) { rawData = Base64.decode(data, Base64.DEFAULT); } else { rawData = data.getBytes(); } ByteArrayInputStream in = new ByteArrayInputStream(rawData); try { byte buff[] = new byte[rawData.length]; FileOutputStream out = new FileOutputStream(this.filesystemPathForURL(inputURL), append); try { in.read(buff, 0, buff.length); out.write(buff, 0, rawData.length); out.flush(); } finally { // Always close the output out.close(); } broadcastNewFile(inputURL); } catch (NullPointerException e) { // This is a bug in the Android implementation of the Java Stack NoModificationAllowedException realException = new NoModificationAllowedException(inputURL.toString()); throw realException; } return rawData.length; }
Example 9
Source File: MACAddress.java From smarthome with Eclipse Public License 2.0 | 5 votes |
private void formatHex(String original, int length, String separator) throws IOException { ByteArrayInputStream bis = new ByteArrayInputStream(original.getBytes()); byte[] buffer = new byte[length]; String result = ""; while (bis.read(buffer) > 0) { for (byte b : buffer) { result += (char) b; } Arrays.fill(buffer, (byte) 0); result += separator; } hex = StringUtils.left(result, result.length() - 1); }
Example 10
Source File: Protobuf3.java From PacketProxy with Apache License 2.0 | 5 votes |
public static int decodeBit32(ByteArrayInputStream input) throws Exception { int bit32 = 0; for (int idx = 0; idx < 4; idx++) { int nextB = input.read(); bit32 = bit32 | (nextB << (8*idx)); } return bit32; }
Example 11
Source File: BitcoinTransaction.java From GreenBits with GNU General Public License v3.0 | 5 votes |
public BitcoinInput(ByteArrayInputStream data) throws BTChipException { try { prevOut = new byte[36]; data.read(prevOut); long scriptSize = VarintUtils.read(data); script = new byte[(int)scriptSize]; data.read(script); sequence = new byte[4]; data.read(sequence); } catch(Exception e) { throw new BTChipException("Invalid encoding", e); } }
Example 12
Source File: RepeatedlyRequestWrapper.java From RuoYi-Vue with MIT License | 5 votes |
@Override public ServletInputStream getInputStream() throws IOException { final ByteArrayInputStream bais = new ByteArrayInputStream(body); return new ServletInputStream() { @Override public int read() throws IOException { return bais.read(); } @Override public boolean isFinished() { return false; } @Override public boolean isReady() { return false; } @Override public void setReadListener(ReadListener readListener) { } }; }
Example 13
Source File: XssHttpServletRequestWrapper.java From sdb-mall with Apache License 2.0 | 5 votes |
@Override public ServletInputStream getInputStream() throws IOException { //非json类型,直接返回 if(!MediaType.APPLICATION_JSON_VALUE.equalsIgnoreCase(super.getHeader(HttpHeaders.CONTENT_TYPE))){ return super.getInputStream(); } //为空,直接返回 String json = IOUtils.toString(super.getInputStream(), "utf-8"); if (StringUtils.isBlank(json)) { return super.getInputStream(); } //xss过滤 json = xssEncode(json); final ByteArrayInputStream bis = new ByteArrayInputStream(json.getBytes("utf-8")); return new ServletInputStream() { @Override public boolean isFinished() { return true; } @Override public boolean isReady() { return true; } @Override public void setReadListener(ReadListener readListener) { } @Override public int read() throws IOException { return bis.read(); } }; }
Example 14
Source File: CsrfValidateInterceptor.java From ozark with Apache License 2.0 | 5 votes |
private String toString(ByteArrayInputStream bais, String encoding) throws UnsupportedEncodingException { int n = 0; final byte[] bb = new byte[bais.available()]; while ((n = bais.read(bb, n, bb.length - n)) >= 0); // NOPMD ignore empty while block bais.reset(); return new String(bb, encoding); }
Example 15
Source File: ASCIIUtility.java From FairEmail with GNU General Public License v3.0 | 5 votes |
public static String toString(ByteArrayInputStream is) { int size = is.available(); char[] theChars = new char[size]; byte[] bytes = new byte[size]; is.read(bytes, 0, size); for (int i = 0; i < size;) theChars[i] = (char)(bytes[i++]&0xff); return new String(theChars); }
Example 16
Source File: SignatureEncoding.java From azure-keyvault-java with MIT License | 5 votes |
public static byte[] Decode(byte[] bytes, Ecdsa algorithm) { int coordLength = algorithm.getCoordLength(); ByteArrayInputStream asn1DerSignature = new ByteArrayInputStream(bytes); // verify byte 0 is 0x30 if (asn1DerSignature.read() != 0x30) { throw new IllegalArgumentException("Invalid signature."); } int objLen = readFieldLength(asn1DerSignature); // verify the object lenth is equal to the remaining length of the _asn1DerSignature if (objLen != asn1DerSignature.available()) { throw new IllegalArgumentException(String.format("Invalid signature; invalid field len %d", objLen)); } byte[] rawSignature = new byte[coordLength * 2]; // decode the r feild to the first half of _rawSignature decodeIntField(asn1DerSignature, rawSignature, 0, coordLength); // decode the s feild to the second half of _rawSignature decodeIntField(asn1DerSignature, rawSignature, rawSignature.length / 2, coordLength); return rawSignature; }
Example 17
Source File: BooleanBinding.java From xodus with Apache License 2.0 | 4 votes |
@Override public Boolean readObject(@NotNull final ByteArrayInputStream stream) { return stream.read() != 0; }
Example 18
Source File: MockProcessSession.java From nifi with Apache License 2.0 | 4 votes |
@Override public InputStream read(FlowFile flowFile) { if (flowFile == null) { throw new IllegalArgumentException("FlowFile cannot be null"); } final MockFlowFile mock = validateState(flowFile); final ByteArrayInputStream bais = new ByteArrayInputStream(mock.getData()); incrementReadCount(flowFile); final InputStream errorHandlingStream = new InputStream() { @Override public int read() throws IOException { return bais.read(); } @Override public int read(byte[] b, int off, int len) throws IOException { return bais.read(b, off, len); } @Override public void close() throws IOException { decrementReadCount(flowFile); openInputStreams.remove(mock); bais.close(); } @Override public void mark(final int readlimit) { bais.mark(readlimit); } @Override public void reset() { bais.reset(); } @Override public int available() throws IOException { return bais.available(); } @Override public String toString() { return "ErrorHandlingInputStream[flowFile=" + mock + "]"; } }; openInputStreams.put(mock, errorHandlingStream); return errorHandlingStream; }
Example 19
Source File: Script.java From green_android with GNU General Public License v3.0 | 4 votes |
/** * <p>To run a script, first we parse it which breaks it up into chunks representing pushes of data or logical * opcodes. Then we can run the parsed chunks.</p> * * <p>The reason for this split, instead of just interpreting directly, is to make it easier * to reach into a programs structure and pull out bits of data without having to run it. * This is necessary to render the to/from addresses of transactions in a user interface. * Bitcoin Core does something similar.</p> */ private void parse(byte[] program) throws ScriptException { chunks = new ArrayList<>(5); // Common size. ByteArrayInputStream bis = new ByteArrayInputStream(program); int initialSize = bis.available(); while (bis.available() > 0) { int startLocationInProgram = initialSize - bis.available(); int opcode = bis.read(); long dataToRead = -1; if (opcode >= 0 && opcode < OP_PUSHDATA1) { // Read some bytes of data, where how many is the opcode value itself. dataToRead = opcode; } else if (opcode == OP_PUSHDATA1) { if (bis.available() < 1) throw new ScriptException("Unexpected end of script"); dataToRead = bis.read(); } else if (opcode == OP_PUSHDATA2) { // Read a short, then read that many bytes of data. if (bis.available() < 2) throw new ScriptException("Unexpected end of script"); dataToRead = bis.read() | (bis.read() << 8); } else if (opcode == OP_PUSHDATA4) { // Read a uint32, then read that many bytes of data. // Though this is allowed, because its value cannot be > 520, it should never actually be used if (bis.available() < 4) throw new ScriptException("Unexpected end of script"); dataToRead = ((long)bis.read()) | (((long)bis.read()) << 8) | (((long)bis.read()) << 16) | (((long)bis.read()) << 24); } ScriptChunk chunk; if (dataToRead == -1) { chunk = new ScriptChunk(opcode, null, startLocationInProgram); } else { if (dataToRead > bis.available()) throw new ScriptException("Push of data element that is larger than remaining data"); byte[] data = new byte[(int)dataToRead]; checkState(dataToRead == 0 || bis.read(data, 0, (int)dataToRead) == dataToRead); chunk = new ScriptChunk(opcode, data, startLocationInProgram); } // Save some memory by eliminating redundant copies of the same chunk objects. for (ScriptChunk c : STANDARD_TRANSACTION_SCRIPT_CHUNKS) { if (c.equals(chunk)) chunk = c; } chunks.add(chunk); } }
Example 20
Source File: LocalFilesystem.java From reacteu-app with MIT License | 4 votes |
@Override public long writeToFileAtURL(LocalFilesystemURL inputURL, String data, int offset, boolean isBinary) throws IOException, NoModificationAllowedException { boolean append = false; if (offset > 0) { this.truncateFileAtURL(inputURL, offset); append = true; } byte[] rawData; if (isBinary) { rawData = Base64.decode(data, Base64.DEFAULT); } else { rawData = data.getBytes(); } ByteArrayInputStream in = new ByteArrayInputStream(rawData); try { byte buff[] = new byte[rawData.length]; String absolutePath = filesystemPathForURL(inputURL); FileOutputStream out = new FileOutputStream(absolutePath, append); try { in.read(buff, 0, buff.length); out.write(buff, 0, rawData.length); out.flush(); } finally { // Always close the output out.close(); } if (isPublicDirectory(absolutePath)) { broadcastNewFile(Uri.fromFile(new File(absolutePath))); } } catch (NullPointerException e) { // This is a bug in the Android implementation of the Java Stack NoModificationAllowedException realException = new NoModificationAllowedException(inputURL.toString()); throw realException; } return rawData.length; }