List of usage examples for java.nio ByteBuffer flip
public final Buffer flip()
From source file:MainClass.java
public static void main(String[] args) throws IOException { FileInputStream inFile = new FileInputStream(args[0]); FileOutputStream outFile = new FileOutputStream(args[1]); FileChannel inChannel = inFile.getChannel(); FileChannel outChannel = outFile.getChannel(); ByteBuffer buffer = ByteBuffer.allocate(1024 * 1024); int bytesRead = 0; while (bytesRead >= 0 || buffer.hasRemaining()) { if (bytesRead != -1) bytesRead = inChannel.read(buffer); buffer.flip(); outChannel.write(buffer);/* ww w .j ava2 s . c o m*/ buffer.compact(); } inChannel.close(); outChannel.close(); }
From source file:Main.java
public static void main(String[] args) throws Exception { DatagramChannel client = null; client = DatagramChannel.open(); client.bind(null);//from ww w .j av a 2 s . com String msg = "Hello"; ByteBuffer buffer = ByteBuffer.wrap(msg.getBytes()); InetSocketAddress serverAddress = new InetSocketAddress("localhost", 8989); client.send(buffer, serverAddress); buffer.clear(); client.receive(buffer); buffer.flip(); int limits = buffer.limit(); byte bytes[] = new byte[limits]; buffer.get(bytes, 0, limits); String response = new String(bytes); System.out.println("Server responded: " + response); client.close(); }
From source file:Main.java
public static void main(String[] args) throws Exception { DatagramChannel server = null; server = DatagramChannel.open(); InetSocketAddress sAddr = new InetSocketAddress("localhost", 8989); server.bind(sAddr);//from ww w . j a v a2s. c om ByteBuffer buffer = ByteBuffer.allocate(1024); while (true) { System.out.println("Waiting for a message from" + " a remote host at " + sAddr); SocketAddress remoteAddr = server.receive(buffer); buffer.flip(); int limits = buffer.limit(); byte bytes[] = new byte[limits]; buffer.get(bytes, 0, limits); String msg = new String(bytes); System.out.println("Client at " + remoteAddr + " says: " + msg); buffer.rewind(); server.send(buffer, remoteAddr); buffer.clear(); } //server.close(); }
From source file:MainClass.java
public static void main(String[] args) throws Exception { FileChannel fc = new FileOutputStream("data2.txt").getChannel(); ByteBuffer buff = ByteBuffer.allocate(24); // More than needed buff.asCharBuffer().put("Some text"); fc.write(buff);//from w w w .java 2s. c o m fc.close(); fc = new FileInputStream("data2.txt").getChannel(); buff.clear(); fc.read(buff); buff.flip(); System.out.println(buff.asCharBuffer()); }
From source file:MainClass.java
public static void main(String[] args) { File aFile = new File("data.dat"); FileInputStream inFile = null; try {//from w ww .ja v a 2 s. c o m inFile = new FileInputStream(aFile); } catch (FileNotFoundException e) { e.printStackTrace(System.err); System.exit(1); } FileChannel inChannel = inFile.getChannel(); final int COUNT = 6; ByteBuffer buf = ByteBuffer.allocate(8 * COUNT); long[] data = new long[COUNT]; try { int pos = 0; while (inChannel.read(buf) != -1) { try { ((ByteBuffer) (buf.flip())).asLongBuffer().get(data); pos = data.length; } catch (BufferUnderflowException e) { LongBuffer longBuf = buf.asLongBuffer(); pos = longBuf.remaining(); longBuf.get(data, 0, pos); } System.out.println(); for (int i = 0; i < pos; i++) { System.out.printf("%10d", data[i]); } buf.clear(); } System.out.println("\nEOF reached."); inFile.close(); } catch (IOException e) { e.printStackTrace(System.err); System.exit(1); } }
From source file:Main.java
public static void main(String[] args) throws Exception { File aFile = new File("primes.txt"); FileInputStream inFile = new FileInputStream(aFile); FileChannel inChannel = inFile.getChannel(); ByteBuffer buf = ByteBuffer.allocateDirect(1024); buf.position(buf.limit());//from w ww . ja va2s .co m while (true) { if (buf.remaining() < 8) { if (inChannel.read(buf.compact()) == -1) { break; } buf.flip(); } int strLength = (int) buf.getDouble(); if (buf.remaining() < 2 * strLength) { if (inChannel.read(buf.compact()) == -1) { break; } buf.flip(); } byte[] strChars = new byte[2 * strLength]; buf.get(strChars); if (buf.remaining() < 8) { if (inChannel.read(buf.compact()) == -1) { break; } buf.flip(); } System.out.println(strLength); System.out.println(ByteBuffer.wrap(strChars).asCharBuffer()); System.out.println(buf.getLong()); } inFile.close(); }
From source file:org.apache.commons.crypto.examples.CipherByteBufferExample.java
public static void main(String[] args) throws Exception { final SecretKeySpec key = new SecretKeySpec(getUTF8Bytes("1234567890123456"), "AES"); final IvParameterSpec iv = new IvParameterSpec(getUTF8Bytes("1234567890123456")); Properties properties = new Properties(); //Creates a CryptoCipher instance with the transformation and properties. final String transform = "AES/CBC/PKCS5Padding"; final ByteBuffer outBuffer; final int bufferSize = 1024; final int updateBytes; final int finalBytes; try (CryptoCipher encipher = Utils.getCipherInstance(transform, properties)) { ByteBuffer inBuffer = ByteBuffer.allocateDirect(bufferSize); outBuffer = ByteBuffer.allocateDirect(bufferSize); inBuffer.put(getUTF8Bytes("hello world!")); inBuffer.flip(); // ready for the cipher to read it // Show the data is there System.out.println("inBuffer=" + asString(inBuffer)); // Initializes the cipher with ENCRYPT_MODE,key and iv. encipher.init(Cipher.ENCRYPT_MODE, key, iv); // Continues a multiple-part encryption/decryption operation for byte buffer. updateBytes = encipher.update(inBuffer, outBuffer); System.out.println(updateBytes); // We should call do final at the end of encryption/decryption. finalBytes = encipher.doFinal(inBuffer, outBuffer); System.out.println(finalBytes); }/*from w ww. ja va2 s . c om*/ outBuffer.flip(); // ready for use as decrypt byte[] encoded = new byte[updateBytes + finalBytes]; outBuffer.duplicate().get(encoded); System.out.println(Arrays.toString(encoded)); // Now reverse the process try (CryptoCipher decipher = Utils.getCipherInstance(transform, properties)) { decipher.init(Cipher.DECRYPT_MODE, key, iv); ByteBuffer decoded = ByteBuffer.allocateDirect(bufferSize); decipher.update(outBuffer, decoded); decipher.doFinal(outBuffer, decoded); decoded.flip(); // ready for use System.out.println("decoded=" + asString(decoded)); } }
From source file:UDPTimeClient.java
public static void main(String[] args) throws Exception { DatagramChannel channel = DatagramChannel.open(); // port 0 selects any available port SocketAddress address = new InetSocketAddress(0); DatagramSocket socket = channel.socket(); socket.setSoTimeout(5000);/*from w w w. j a va2 s.c o m*/ socket.bind(address); SocketAddress server = new InetSocketAddress("time.nist.gov", 37); ByteBuffer buffer = ByteBuffer.allocate(8192); // time protocol always uses big-endian order buffer.order(ByteOrder.BIG_ENDIAN); // Must put at least one byte of data in the buffer; // it doesn't matter what it is. buffer.put((byte) 65); buffer.flip(); channel.send(buffer, server); buffer.clear(); buffer.put((byte) 0).put((byte) 0).put((byte) 0).put((byte) 0); channel.receive(buffer); buffer.flip(); long secondsSince1970 = buffer.getLong(); System.out.println(secondsSince1970); channel.close(); }
From source file:Main.java
public static void main(String[] argv) throws Exception { ByteBuffer buf = ByteBuffer.allocateDirect(1024); SocketChannel sChannel = SocketChannel.open(); sChannel.configureBlocking(false);/*www. j a v a 2 s.co m*/ sChannel.connect(new InetSocketAddress("hostName", 12345)); int numBytesRead = sChannel.read(buf); if (numBytesRead == -1) { sChannel.close(); } else { buf.flip(); } }
From source file:com.talent.nio.communicate.receive.DecodeRunnable.java
/** * @param args//from ww w.j a va 2 s.c o m */ public static void main(String[] args) { byte[] bs1 = new byte[] { 1, 10, 11, 12 }; byte[] bs2 = new byte[] { 2, 2, 2, 2 }; byte[] bs3 = new byte[] { 3, 3, 3, 3 }; byte[] bs4 = new byte[] { 4, 4, 4, 4 }; byte[] bs5 = new byte[] { 5, 5, 5, 5 }; byte[] bs6 = new byte[] { 6, 6, 6, 6 }; ByteBuffer buffer1 = ByteBuffer.allocate(1024); buffer1.put(bs1); buffer1.flip(); ByteBuf buf1 = Unpooled.copiedBuffer(buffer1);// .copiedBuffer(bs1); buffer1.put(bs3); ByteBuf buf2 = Unpooled.copiedBuffer(bs2); ByteBuf buf3 = Unpooled.copiedBuffer(bs3); ByteBuf buf4 = Unpooled.copiedBuffer(bs4); ByteBuf buf5 = Unpooled.copiedBuffer(bs5); ByteBuf buf6 = Unpooled.copiedBuffer(bs6); CompositeByteBuf cb = Unpooled.compositeBuffer(); cb.addComponents(buf1, buf2, buf3); byte dd = cb.getByte(0); CompositeByteBuf cb2 = Unpooled.compositeBuffer(); cb.addComponents(buf4, buf5, buf6); // cb.c // cb2.writerIndex(128 * 1024); cb.addComponent(cb2); Long number = cb2.readLong(); // causes IllegalBufferAccessException // here! }