List of usage examples for java.io DataInputStream read
public final int read(byte b[], int off, int len) throws IOException
len
bytes of data from the contained input stream into an array of bytes. From source file:com.portfolio.data.attachment.XSLService.java
void RetrieveAnswer(HttpURLConnection connection, HttpServletResponse response, String referer) throws MalformedURLException, IOException { /// Receive answer InputStream in;//w w w . ja va 2s . c o m try { in = connection.getInputStream(); } catch (Exception e) { System.out.println(e.toString()); in = connection.getErrorStream(); } String ref = null; if (referer != null) { int first = referer.indexOf('/', 7); int last = referer.lastIndexOf('/'); ref = referer.substring(first, last); } response.setContentType(connection.getContentType()); response.setStatus(connection.getResponseCode()); response.setContentLength(connection.getContentLength()); /// Transfer headers Map<String, List<String>> headers = connection.getHeaderFields(); int size = headers.size(); for (int i = 1; i < size; ++i) { String key = connection.getHeaderFieldKey(i); String value = connection.getHeaderField(i); // response.setHeader(key, value); response.addHeader(key, value); } /// Deal with correct path with set cookie List<String> setValues = headers.get("Set-Cookie"); if (setValues != null) { String setVal = setValues.get(0); int pathPlace = setVal.indexOf("Path="); if (pathPlace > 0) { setVal = setVal.substring(0, pathPlace + 5); // Some assumption, may break setVal = setVal + ref; response.setHeader("Set-Cookie", setVal); } } /// Write back data DataInputStream stream = new DataInputStream(in); byte[] buffer = new byte[1024]; // int size; ServletOutputStream out = null; try { out = response.getOutputStream(); while ((size = stream.read(buffer, 0, buffer.length)) != -1) out.write(buffer, 0, size); } catch (Exception e) { System.out.println(e.toString()); System.out.println("Writing messed up!"); } finally { in.close(); out.flush(); // close() should flush already, but Tomcat 5.5 doesn't out.close(); } }
From source file:net.tuples.doitfx.connector.crypto.PasswordManager.java
private byte[] loadPasscode(final String pSvcPair) { final FileInputStream passCodeFileInStm; final DataInputStream passCodeDataInStm; final byte[] bufferByteArray = new byte[64]; final byte[] decodedByteArray; final int MAX_BYTES_AT_ONCE = 8; final Path passCodeLocation = PathOptions.getDefaultConfigPath().resolve(pSvcPair) .resolve(passcodeFilename);// w w w .j av a 2 s . c o m try { passCodeFileInStm = new FileInputStream(passCodeLocation.toFile()); passCodeDataInStm = new DataInputStream(passCodeFileInStm); int counts = 0; int size = 0; while (true) { size = passCodeDataInStm.read(bufferByteArray, counts, MAX_BYTES_AT_ONCE); if (size <= 0) { break; } counts += size; size = 0; } passCodeDataInStm.close(); passCodeFileInStm.close(); decodedByteArray = Base64.decodeBase64(bufferByteArray); return decodedByteArray; } catch (IOException ex) { Logger.getLogger(PasswordManager.class.getName()).log(Level.SEVERE, null, ex); } return null; }
From source file:org.apache.hadoop.io.TestBufferedByteInputOutput.java
private void testInputStream(int inputSize, int bufferSize, int readBufferSize) throws IOException { LOG.info("Running test input stream with inputSize: " + inputSize + ", bufferSize: " + bufferSize + ", readBufferSize: " + readBufferSize); setUp(inputSize);/*w ww. jav a2 s. co m*/ ByteArrayInputStream is = new ByteArrayInputStream(input); DataInputStream dis = BufferedByteInputStream.wrapInputStream(is, bufferSize, readBufferSize); int totalRead = 0; int outputCursor = 0; while (totalRead < inputSize) { if (rand.nextBoolean()) { // read single byte output[outputCursor++] = dis.readByte(); totalRead++; } else { int count = rand.nextInt(inputSize - totalRead) + 1; byte[] bytes = new byte[count]; int bytesRead = dis.read(bytes, 0, count); System.arraycopy(bytes, 0, output, outputCursor, bytesRead); outputCursor += bytesRead; totalRead += bytesRead; } } assertEquals(inputSize, totalRead); assertTrue(Arrays.equals(input, output)); dis.close(); dis.close(); // multiple close should work dis.close(); // multiple close should work }
From source file:com.portfolio.data.attachment.FileServlet.java
void RetrieveAnswer(HttpURLConnection connection, HttpServletResponse response, String referer) throws MalformedURLException, IOException { /// Receive answer InputStream in;//w ww.j a v a 2 s.c om try { in = connection.getInputStream(); } catch (Exception e) { System.out.println(e.toString()); in = connection.getErrorStream(); } InitAnswer(connection, response, referer); /// Write back data DataInputStream stream = new DataInputStream(in); byte[] buffer = new byte[1024]; int size; ServletOutputStream out = null; try { out = response.getOutputStream(); while ((size = stream.read(buffer, 0, buffer.length)) != -1) out.write(buffer, 0, size); } catch (Exception e) { System.out.println(e.toString()); System.out.println("Writing messed up!"); } finally { in.close(); out.flush(); // close() should flush already, but Tomcat 5.5 doesn't out.close(); } }
From source file:J2MEImageLoader.java
public void run() { HttpConnection hc = null;/*w w w . jav a 2 s .co m*/ DataInputStream in = null; try { hc = (HttpConnection) Connector.open("http://www.y.com/image.gif"); int length = (int) hc.getLength(); byte[] data = null; if (length != -1) { data = new byte[length]; in = new DataInputStream(hc.openInputStream()); in.readFully(data); } else { int chunkSize = 512; int index = 0; int readLength = 0; in = new DataInputStream(hc.openInputStream()); data = new byte[chunkSize]; do { if (data.length < index + chunkSize) { byte[] newData = new byte[index + chunkSize]; System.arraycopy(data, 0, newData, 0, data.length); data = newData; } readLength = in.read(data, index, chunkSize); index += readLength; } while (readLength == chunkSize); length = index; } Image image = Image.createImage(data, 0, length); ImageItem imageItem = new ImageItem(null, image, 0, null); mForm.append(imageItem); mForm.setTitle("Done."); } catch (IOException ioe) { mForm.setTitle("Error."); } }
From source file:ffx.realspace.CCP4MapFilter.java
/** * {@inheritDoc}/*from w w w.jav a 2 s. co m*/ */ @Override public boolean readFile(String filename, RealSpaceRefinementData refinementdata, CompositeConfiguration properties) { int imapData; double cellA, cellB, cellC, cellAlpha, cellBeta, cellGamma; String stampString; ByteOrder byteOrder = ByteOrder.nativeOrder(); FileInputStream fileInputStream; DataInputStream dataInputStream; double min = Double.POSITIVE_INFINITY; double max = Double.NEGATIVE_INFINITY; double mean = 0.0; double sd = 0.0; double rmsd = 0.0; // First determine byte order of file versus system try { fileInputStream = new FileInputStream(filename); dataInputStream = new DataInputStream(fileInputStream); dataInputStream.skipBytes(212); byte bytes[] = new byte[4]; dataInputStream.read(bytes, 0, 4); ByteBuffer byteBuffer = ByteBuffer.wrap(bytes); imapData = byteBuffer.order(ByteOrder.BIG_ENDIAN).getInt(); stampString = Integer.toHexString(imapData); switch (stampString.charAt(0)) { case '1': case '3': if (byteOrder.equals(ByteOrder.LITTLE_ENDIAN)) { byteOrder = ByteOrder.BIG_ENDIAN; } break; case '4': if (byteOrder.equals(ByteOrder.BIG_ENDIAN)) { byteOrder = ByteOrder.LITTLE_ENDIAN; } break; } if (logger.isLoggable(Level.INFO)) { StringBuilder sb = new StringBuilder(); sb.append(String.format("\n Opening CCP4 map: %s\n", filename)); //sb.append(String.format("file type (machine stamp): %s\n", stampString)); logger.info(sb.toString()); } fileInputStream.close(); } catch (Exception e) { String message = " Fatal exception reading CCP4 map.\n"; logger.log(Level.SEVERE, message, e); } try { fileInputStream = new FileInputStream(filename); dataInputStream = new DataInputStream(fileInputStream); byte bytes[] = new byte[2048]; dataInputStream.read(bytes, 0, 1024); ByteBuffer byteBuffer = ByteBuffer.wrap(bytes); int ext[] = new int[3]; ext[0] = byteBuffer.order(byteOrder).getInt(); ext[1] = byteBuffer.order(byteOrder).getInt(); ext[2] = byteBuffer.order(byteOrder).getInt(); // mode (2 = reals, only one we accept) int mode = byteBuffer.order(byteOrder).getInt(); int ori[] = new int[3]; ori[0] = byteBuffer.order(byteOrder).getInt(); ori[1] = byteBuffer.order(byteOrder).getInt(); ori[2] = byteBuffer.order(byteOrder).getInt(); int ni[] = new int[3]; ni[0] = byteBuffer.order(byteOrder).getInt(); ni[1] = byteBuffer.order(byteOrder).getInt(); ni[2] = byteBuffer.order(byteOrder).getInt(); cellA = byteBuffer.order(byteOrder).getFloat(); cellB = byteBuffer.order(byteOrder).getFloat(); cellC = byteBuffer.order(byteOrder).getFloat(); cellAlpha = byteBuffer.order(byteOrder).getFloat(); cellBeta = byteBuffer.order(byteOrder).getFloat(); cellGamma = byteBuffer.order(byteOrder).getFloat(); int axisi[] = new int[3]; for (int i = 0; i < 3; i++) { int axis = byteBuffer.order(byteOrder).getInt(); switch (axis) { case 1: axisi[0] = i; break; case 2: axisi[1] = i; break; case 3: axisi[2] = i; break; } } min = byteBuffer.order(byteOrder).getFloat(); max = byteBuffer.order(byteOrder).getFloat(); mean = byteBuffer.order(byteOrder).getFloat(); int sg = byteBuffer.order(byteOrder).getInt(); int nsymb = byteBuffer.order(byteOrder).getInt(); int skew = byteBuffer.order(byteOrder).getInt(); for (int i = 0; i < 12; i++) { byteBuffer.order(byteOrder).getFloat(); } for (int i = 0; i < 15; i++) { byteBuffer.order(byteOrder).getInt(); } byte word[] = new byte[2048]; byteBuffer.order(byteOrder).get(word, 0, 4); String mapString = new String(word); sd = byteBuffer.order(byteOrder).getFloat(); rmsd = byteBuffer.order(byteOrder).getFloat(); if (logger.isLoggable(Level.INFO)) { StringBuilder sb = new StringBuilder(); sb.append(String.format(" Column origin: %d\t Extent: %d\n", ori[0], ext[0])); sb.append(String.format(" Row origin: %d\t Extent: %d\n", ori[1], ext[1])); sb.append(String.format(" Section origin: %d\t Extent: %d\n", ori[2], ext[2])); sb.append(String.format(" Axis order: %d %d %d\n", axisi[0], axisi[1], axisi[2])); sb.append(String.format(" Number of X, Y, Z columns: %d %d %d\n", ni[0], ni[1], ni[2])); sb.append(String.format(" Spacegroup: %d (%s)\n", sg, SpaceGroup.spaceGroupNames[sg - 1])); sb.append(String.format(" Cell: %8.3f %8.3f %8.3f %8.3f %8.3f %8.3f\n", cellA, cellB, cellC, cellAlpha, cellBeta, cellGamma)); logger.info(sb.toString()); } int nlabel = byteBuffer.order(byteOrder).getInt(); for (int i = 0; i < 10; i++) { byteBuffer.order(byteOrder).get(word, 0, 80); mapString = new String(word); } if (nsymb > 0) { byteBuffer.rewind(); dataInputStream.read(bytes, 0, nsymb); for (int i = 0; i < nsymb / 80; i += 80) { byteBuffer.order(byteOrder).get(word, 0, 80); mapString = new String(word); } } byteBuffer.rewind(); dataInputStream.read(bytes, 0, 2048); refinementdata.setData(new double[ext[0] * ext[1] * ext[2]]); int ijk[] = new int[3]; int index, x, y, z; refinementdata.setOrigin(ori[axisi[0]], ori[axisi[1]], ori[axisi[2]]); int nx = ext[axisi[0]]; int ny = ext[axisi[1]]; int nz = ext[axisi[2]]; refinementdata.setExtent(nx, ny, nz); refinementdata.setNI(ni[0], ni[1], ni[2]); for (ijk[2] = 0; ijk[2] < ext[2]; ijk[2]++) { for (ijk[1] = 0; ijk[1] < ext[1]; ijk[1]++) { for (ijk[0] = 0; ijk[0] < ext[0]; ijk[0]++) { x = ijk[axisi[0]]; y = ijk[axisi[1]]; z = ijk[axisi[2]]; index = x + nx * (y + ny * z); refinementdata.getData()[index] = byteBuffer.order(byteOrder).getFloat(); if (!byteBuffer.hasRemaining()) { byteBuffer.rewind(); dataInputStream.read(bytes, 0, 2048); } } } } fileInputStream.close(); } catch (Exception e) { String message = " Fatal exception reading CCP4 map.\n"; logger.log(Level.SEVERE, message, e); } return true; }
From source file:ffx.xray.CCP4MapFilter.java
/** * {@inheritDoc}//from w w w.jav a2 s. c o m */ @Override public boolean readFile(String filename, RealSpaceRefinementData refinementdata, CompositeConfiguration properties) { int imapdata; double cella, cellb, cellc, cellalpha, cellbeta, cellgamma; String stampstr; ByteOrder b = ByteOrder.nativeOrder(); FileInputStream fis; DataInputStream dis; double min = Double.POSITIVE_INFINITY; double max = Double.NEGATIVE_INFINITY; double mean = 0.0; double sd = 0.0; double rmsd = 0.0; // first determine byte order of file versus system try { fis = new FileInputStream(filename); dis = new DataInputStream(fis); dis.skipBytes(212); byte bytes[] = new byte[4]; dis.read(bytes, 0, 4); ByteBuffer bb = ByteBuffer.wrap(bytes); imapdata = bb.order(ByteOrder.BIG_ENDIAN).getInt(); stampstr = Integer.toHexString(imapdata); // System.out.println("stamp: " + stampstr); switch (stampstr.charAt(0)) { case '1': case '3': if (b.equals(ByteOrder.LITTLE_ENDIAN)) { b = ByteOrder.BIG_ENDIAN; } break; case '4': if (b.equals(ByteOrder.BIG_ENDIAN)) { b = ByteOrder.LITTLE_ENDIAN; } break; } if (logger.isLoggable(Level.INFO)) { StringBuilder sb = new StringBuilder(); sb.append(String.format("\nOpening CCP4 map: %s\n", filename)); sb.append(String.format("file type (machine stamp): %s\n", stampstr)); logger.info(sb.toString()); } fis.close(); } catch (Exception e) { String message = "Fatal exception reading CCP4 map.\n"; logger.log(Level.SEVERE, message, e); System.exit(-1); } try { fis = new FileInputStream(filename); dis = new DataInputStream(fis); byte bytes[] = new byte[2048]; dis.read(bytes, 0, 1024); ByteBuffer bb = ByteBuffer.wrap(bytes); int ext[] = new int[3]; ext[0] = bb.order(b).getInt(); ext[1] = bb.order(b).getInt(); ext[2] = bb.order(b).getInt(); // mode (2 = reals, only one we accept) int mode = bb.order(b).getInt(); int ori[] = new int[3]; ori[0] = bb.order(b).getInt(); ori[1] = bb.order(b).getInt(); ori[2] = bb.order(b).getInt(); int ni[] = new int[3]; ni[0] = bb.order(b).getInt(); ni[1] = bb.order(b).getInt(); ni[2] = bb.order(b).getInt(); cella = bb.order(b).getFloat(); cellb = bb.order(b).getFloat(); cellc = bb.order(b).getFloat(); cellalpha = bb.order(b).getFloat(); cellbeta = bb.order(b).getFloat(); cellgamma = bb.order(b).getFloat(); int axisi[] = new int[3]; for (int i = 0; i < 3; i++) { int axis = bb.order(b).getInt(); switch (axis) { case 1: axisi[0] = i; break; case 2: axisi[1] = i; break; case 3: axisi[2] = i; break; } } min = bb.order(b).getFloat(); max = bb.order(b).getFloat(); mean = bb.order(b).getFloat(); int sg = bb.order(b).getInt(); int nsymb = bb.order(b).getInt(); int skew = bb.order(b).getInt(); for (int i = 0; i < 12; i++) { bb.order(b).getFloat(); } for (int i = 0; i < 15; i++) { bb.order(b).getInt(); } byte word[] = new byte[2048]; bb.order(b).get(word, 0, 4); String mapstr = new String(word); // System.out.println("MAP?: " + mapstr); sd = bb.order(b).getFloat(); rmsd = bb.order(b).getFloat(); /* System.out.println("col: " + ori[0] + " " + ext[0] + " " + ni[0]); System.out.println("row: " + ori[1] + " " + ext[1] + " " + ni[1]); System.out.println("sec: " + ori[2] + " " + ext[2] + " " + ni[2]); System.out.println("order: " + axisi[0] + " " + axisi[1] + " " + axisi[2]); System.out.println("min: " + min + " max: " + max + " mean: " + mean); System.out.println("sd: " + sd + " rmsd: " + rmsd); System.out.println("sg: " + sg); System.out.println("a: " + cella + " b: " + cellb + " c: " + cellc + " alpha: " + cellalpha + " beta: " + cellbeta + " gamma: " + cellgamma); */ if (logger.isLoggable(Level.INFO)) { StringBuilder sb = new StringBuilder(); sb.append(String.format(" column origin: %d extent: %d\n", ori[0], ext[0])); sb.append(String.format(" row origin: %d extent: %d\n", ori[1], ext[1])); sb.append(String.format(" section origin: %d extent: %d\n", ori[2], ext[2])); sb.append(String.format(" axis order: %d %d %d\n", axisi[0], axisi[1], axisi[2])); sb.append(String.format(" number of X, Y, Z columns: %d %d %d\n", ni[0], ni[1], ni[2])); sb.append(String.format(" spacegroup #: %d (name: %s)\n", sg, SpaceGroup.spaceGroupNames[sg - 1])); sb.append(String.format(" cell: %8.3f %8.3f %8.3f %8.3f %8.3f %8.3f\n", cella, cellb, cellc, cellalpha, cellbeta, cellgamma)); logger.info(sb.toString()); } int nlabel = bb.order(b).getInt(); // System.out.println("nsymb: " + nsymb + " nlabel: " + nlabel); for (int i = 0; i < 10; i++) { bb.order(b).get(word, 0, 80); mapstr = new String(word); // System.out.println("label " + i + " : " + mapstr); } if (nsymb > 0) { bb.rewind(); dis.read(bytes, 0, nsymb); for (int i = 0; i < nsymb / 80; i += 80) { bb.order(b).get(word, 0, 80); mapstr = new String(word); // System.out.println("symm: " + mapstr); } } bb.rewind(); dis.read(bytes, 0, 2048); refinementdata.data = new double[ext[0] * ext[1] * ext[2]]; int ijk[] = new int[3]; int index, x, y, z; refinementdata.ori[0] = ori[axisi[0]]; refinementdata.ori[1] = ori[axisi[1]]; refinementdata.ori[2] = ori[axisi[2]]; int nx = ext[axisi[0]]; int ny = ext[axisi[1]]; int nz = ext[axisi[2]]; refinementdata.ext[0] = nx; refinementdata.ext[1] = ny; refinementdata.ext[2] = nz; refinementdata.ni[0] = ni[0]; refinementdata.ni[1] = ni[1]; refinementdata.ni[2] = ni[2]; for (ijk[2] = 0; ijk[2] < ext[2]; ijk[2]++) { for (ijk[1] = 0; ijk[1] < ext[1]; ijk[1]++) { for (ijk[0] = 0; ijk[0] < ext[0]; ijk[0]++) { x = ijk[axisi[0]]; y = ijk[axisi[1]]; z = ijk[axisi[2]]; index = x + nx * (y + ny * z); refinementdata.data[index] = bb.order(b).getFloat(); if (!bb.hasRemaining()) { bb.rewind(); dis.read(bytes, 0, 2048); } } } } fis.close(); } catch (Exception e) { String message = "Fatal exception reading CCP4 map.\n"; logger.log(Level.SEVERE, message, e); System.exit(-1); } return true; }
From source file:org.commoncrawl.service.queryserver.index.PositionBasedSequenceFileIndex.java
private ByteBuffer loadStreamIntoMemory(Path streamPath) throws IOException { //LOG.info("Loading Stream:" + streamPath.getAbsolutePath()); if (!_fileSystem.exists(streamPath) || _fileSystem.getFileStatus(streamPath).isDir()) { throw new IOException("Stream Path:" + streamPath + " Points to Invalid File"); } else {// www. j a v a 2 s. co m DataInputStream inputStream = null; ByteBuffer bufferOut = null; try { //LOG.info("Allocating Buffer of size:" + streamPath.length() + " for Stream:" + streamPath.getAbsolutePath()); bufferOut = ByteBuffer.allocate((int) _fileSystem.getFileStatus(streamPath).getLen()); inputStream = _fileSystem.open(streamPath); long loadStart = System.currentTimeMillis(); for (int offset = 0, totalRead = 0; offset < bufferOut.capacity();) { int bytesToRead = Math.min(16384, bufferOut.capacity() - totalRead); inputStream.read(bufferOut.array(), offset, bytesToRead); offset += bytesToRead; totalRead += bytesToRead; } //LOG.info("Load of Stream:" + streamPath.getAbsolutePath() + " Took:" + (System.currentTimeMillis() - loadStart) + " MS"); } finally { if (inputStream != null) { inputStream.close(); } } return bufferOut; } }
From source file:edu.cornell.med.icb.goby.compression.HybridChunkCodec1.java
@Override public boolean validate(byte firstByte, final DataInputStream input) { try {/* w w w. ja va 2s.co m*/ crc32.reset(); final byte b = input.readByte(); final byte c = input.readByte(); final byte d = input.readByte(); final int fullCodecContentSize = firstByte << 24 | (b & 0xFF) << 16 | (c & 0xFF) << 8 | (d & 0xFF); // System.out.printf("read %X %X %X %X but found size=%X", firstByte, b, c, d,fullCodecContentSize); final int hybridContentSize = input.readInt(); final int storedChecksum = input.readInt(); if (fullCodecContentSize < 0) { return false; } if (hybridContentSize < 0) { return false; } final byte[] bytes = new byte[hybridContentSize]; int totalRead = 0; int offset = 0; while (totalRead < hybridContentSize) { final int numRead = input.read(bytes, offset, hybridContentSize - totalRead); if (numRead == -1) { break; } totalRead += numRead; offset += numRead; } if (totalRead != hybridContentSize) { return false; } crc32.update(bytes); final int computedChecksum = (int) crc32.getValue(); return computedChecksum == storedChecksum; } catch (IOException e) { return false; } }
From source file:darks.learning.word2vec.Word2Vec.java
/** * Load model file// w w w .ja va2s.c o m * * @param file Model file */ public void loadModel(File file) { DataInputStream dis = null; try { log.info("Reading word2vec model from " + file); dis = new DataInputStream(new BufferedInputStream(new FileInputStream(file))); int wordSize = dis.readInt(); int featureSize = dis.readInt(); wordNodes.clear(); for (int i = 0; i < wordSize; i++) { DoubleMatrix feature = new DoubleMatrix(featureSize); int nameLen = dis.readInt(); byte[] bits = new byte[nameLen]; dis.read(bits, 0, nameLen); String name = new String(bits); double len = 0; for (int f = 0; f < featureSize; f++) { double w = dis.readDouble(); feature.put(f, w); len += w * w; } len = FastMath.sqrt(len); // feature.divi(len); wordNodes.put(name, new WordNode(name, feature)); } log.info("Succeed to read word2vec model. Word dictionary size " + wordNodes.size()); } catch (Exception e) { log.error(e.getMessage(), e); } finally { IOUtils.closeStream(dis); } }