/* * myLib - https://github.com/taktod/myLib * Copyright (c) 2014 ttProject. All rights reserved. * * Licensed under The MIT license. */ package com.ttProject.nio.test; import java.io.FileOutputStream; import java.nio.ByteBuffer; import java.nio.channels.FileChannel; import org.apache.log4j.Logger; import com.ttProject.nio.CacheBuffer; import com.ttProject.nio.channels.ByteReadChannel; import com.ttProject.nio.channels.FileReadChannel; import com.ttProject.nio.channels.IReadChannel; /** * test for buffer * @author taktod */ public class BufferTest { /** logger */ private Logger logger = Logger.getLogger(BufferTest.class); // @Test public void test() throws Exception { IReadChannel target = FileReadChannel.openFileReadChannel( Thread.currentThread().getContextClassLoader().getResource("tmp.dat") ); CacheBuffer buffer = new CacheBuffer(target, target.size()); while(buffer.remaining() != 0) { logger.info(buffer.getInt()); } } // @Test public void test2() throws Exception { IReadChannel target = FileReadChannel.openFileReadChannel( Thread.currentThread().getContextClassLoader().getResource("tmp.dat") ); while(target.position() != target.size()) { ByteBuffer buffer = ByteBuffer.allocate(4); target.read(buffer); buffer.flip(); logger.info(buffer.getInt()); } } // @Test public void test3() throws Exception { IReadChannel target = new ByteReadChannel("test".getBytes()); ByteBuffer buffer = ByteBuffer.allocate(10); target.read(buffer); buffer.flip(); logger.info(buffer.remaining()); while(buffer.remaining() != 0) { logger.info(Integer.toHexString(buffer.get() & 0xFF)); } target.close(); } // @Test public void test4() throws Exception { FileOutputStream fos = new FileOutputStream("test"); FileChannel channel = fos.getChannel(); logger.info(channel.isOpen()); fos.close(); logger.info(channel.isOpen()); } }