讀取一個文件的內容,而後寫入另一個文件java
public class NioTest4 { public static void main(String[] args) throws Exception { FileInputStream inputStream = new FileInputStream("input.txt"); FileOutputStream outputStream = new FileOutputStream("output.txt"); FileChannel inputChannel = inputStream.getChannel(); FileChannel outputChannel = outputStream.getChannel(); ByteBuffer buffer = ByteBuffer.allocate(1024); while (true){ buffer.clear(); int read = inputChannel.read(buffer); if( -1 == read){ break; } buffer.flip(); outputChannel.write(buffer); } inputChannel.close(); outputChannel.close(); } }
經過NIO讀取文件涉及3個步驟對象
一、從FileInputStream獲取FileChannel對象blog
二、建立Bufferip
三、將數據從Channel讀取到Buffer中get
絕對方法與相對方法的含義input
一、相對方法: limit值與position值會在操做時被考慮到it
二、絕對方法: 徹底忽略調limit值和position值。io