zoukankan      html  css  js  c++  java
  • 【Java学习笔记】FileChannel的学习

    作者:gnuhpc
    出处:http://www.cnblogs.com/gnuhpc/

    定义了各种通道,这些通道表示到能够执行 I/O 操作的实体(如文件 和套接字)的连接;定义了用于多路复用的、非阻塞 I/O 操作的选择器。

    写文件

    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.nio.ByteBuffer;
    import java.nio.CharBuffer;
    import java.nio.channels.FileChannel;
    public class NioBlockout {
        public static void main(String arg[]) {
            try {
                FileOutputStream fos = new FileOutputStream("nioblock");
                FileChannel channel = fos.getChannel();
                ByteBuffer bytebuffer = ByteBuffer.allocate(20);
                CharBuffer charbuffer = bytebuffer.asCharBuffer();
                charbuffer.put("ABCDEFGHI");
                channel.position(20);
                channel.write(bytebuffer);
                channel.close();
            } catch(IOException e) {
                System.out.println(e);
            }
        }
    }

    文件buffer

    import java.io.IOException;
    import java.io.RandomAccessFile;
    import java.nio.channels.FileChannel;
    import java.nio.channels.FileChannel.MapMode;
    import java.nio.MappedByteBuffer;
    import java.nio.CharBuffer;
    public class NioMap {
        public static void main(String arg[]) {
            try {
                RandomAccessFile raf = new RandomAccessFile("nioblock","rw");
                FileChannel channel = raf.getChannel();
                MappedByteBuffer bytebuffer = channel.map(
                        FileChannel.MapMode.READ_WRITE,
                        20,18); // position and size
                CharBuffer charbuffer = bytebuffer.asCharBuffer();
                bytebuffer.load();
                char ch = charbuffer.get(3);
                System.out.println("Character: " + ch);
                charbuffer.put(3,'X');
                channel.close();
            } catch(IOException e) {
                System.out.println(e);
            }
        }
    }

    作者:gnuhpc
    出处:http://www.cnblogs.com/gnuhpc/

  • 相关阅读:
    Shell 函数
    Shell test命令/流程控制
    Shell 变量/echo命令
    Linux vi/vim and linux yum 命令
    Linux磁盘管理
    Linux 用户和用户组管理
    Linux 文件与目录管理
    Linux root用户密码重置,远程登陆,文件基本属性
    Linux简介安装、系统启动过程、目录结构
    Linux系统安装时分区的介绍
  • 原文地址:https://www.cnblogs.com/gnuhpc/p/2822311.html
Copyright © 2011-2022 走看看