天天看点

粗人之玩转Channel

文章目录

        • 1、文件读取
        • 2、文件写入

1、文件读取

public static public void main( String args[] ) throws Exception {  
    FileInputStream fin = new FileInputStream("E://test.txt");

    // 获取通道  
    FileChannel fc = fin.getChannel();  

    // 创建缓冲区  
    ByteBuffer buffer = ByteBuffer.allocate(1024);  

    // 读取数据到缓冲区  
    fc.read(buffer);  

    buffer.flip();  

    while (buffer.remaining() > 0) {  
        byte b = buffer.get();  
        System.out.print(((char)b));  
    }  

    fin.close();
}  
           

2、文件写入

public static private final byte message[] = { 83, 111, 109, 101, 32, 98, 121, 116, 101, 115, 46 };

public static public void main( String args[] ) throws Exception {  
    FileOutputStream fout = new FileOutputStream( "E://test.txt" );

    FileChannel fc = fout.getChannel();  

    ByteBuffer buffer = ByteBuffer.allocate( 1024 );  

    for (int i=0; i<message.length; ++i) {  
        buffer.put( message[i] );  
    }  

    buffer.flip();   

    fc.write( buffer );  

    fout.close();  
}  
           

继续阅读