java8中nio通道(Channel)的基本使用

 时间:2024-10-12 12:43:24

1、利用通道完成文件的复制@Test public void test4() throws Exception{ FileChannel inChannel = FileChannel.open(Paths.get("1.jpg"), StandardOpenOption.READ); FileChannel outChannel = FileChannel.open(Paths.get("2.jpg"), StandardOpenOption.WRITE, StandardOpenOption.READ,StandardOpenOption.CREATE_NEW); //inChannel.transferTo(0,inChannel.size(),outChannel); outChannel.transferFrom(inChannel,0,inChannel.size()); inChannel.close(); outChannel.close(); }

java8中nio通道(Channel)的基本使用

2、使用直接缓冲区完成文件的复制(内存映射文件) @Test public void test2() throws Exception{ FileChannel inChannel = FileChannel.open(Paths.get("1.jpg"), StandardOpenOption.READ); FileChannel outChannel = FileChannel.open(Paths.get("2.jpg"),StandardOpenOption.WRITE,StandardOpenOption.CREATE_NEW); //内存映射文件 MappedByteBuffer inMappedBuff = inChannel.map(FileChannel.MapMode.READ_ONLY,0,inChannel.size()); MappedByteBuffer outMappedBuff = outChannel.map(FileChannel.MapMode.READ_WRITE,0,inChannel.size()); //直接对缓冲区进行数据的读写操作 byte[] dst = new byte[inMappedBuff.limit()]; inMappedBuff.get(dst); outMappedBuff.put(dst); }

java8中nio通道(Channel)的基本使用

3、通道之间的数据传输@Test public void test4() throws Exception{ FileChannel inChannel = FileChannel.open(Paths.get("1.jpg"), StandardOpenOption.READ); FileChannel outChannel = FileChannel.open(Paths.get("2.jpg"), StandardOpenOption.WRITE, StandardOpenOption.READ,StandardOpenOption.CREATE_NEW); inChannel.transferTo(0,inChannel.size(),outChannel); }

java8中nio通道(Channel)的基本使用

4、通道之间的数据传输(直接缓冲区)@Test public void test4() throws Exception{ FileChannel inChannel = FileChannel.open(Paths.get("1.jpg"), StandardOpenOption.READ); FileChannel outChannel = FileChannel.open(Paths.get("2.jpg"), StandardOpenOption.WRITE, StandardOpenOption.READ,StandardOpenOption.CREATE_NEW); outChannel.transferFrom(inChannel,0,inChannel.size()); }

java8中nio通道(Channel)的基本使用

5、关闭输入通道连接@Test public void test4() throws Exception{ FileChannel inChannel = FileChannel.open(Paths.get("1.jpg"), StandardOpenOption.READ); FileChannel outChannel = FileChannel.open(Paths.get("2.jpg"), StandardOpenOption.WRITE, StandardOpenOption.READ,StandardOpenOption.CREATE_NEW); outChannel.transferFrom(inChannel,0,inChannel.size()); inChannel.close(); }

java8中nio通道(Channel)的基本使用

6、关闭输出通道连接@Test public void test4() throws Exception{ FileChannel inChannel = FileChannel.open(Paths.get("1.jpg"), StandardOpenOption.READ); FileChannel outChannel = FileChannel.open(Paths.get("2.jpg"), StandardOpenOption.WRITE, StandardOpenOption.READ,StandardOpenOption.CREATE_NEW); outChannel.transferFrom(inChannel,0,inChannel.size()); inChannel.close(); outChannel.close(); }

java8中nio通道(Channel)的基本使用
  • 出国去冰岛周边旅游攻略
  • 怎么样精准合理的填报高考志愿
  • 买求婚戒指的价格
  • 《搜神录-魅影灵狐》玩法
  • 导致不孕的原因有哪些
  • 热门搜索
    红烧鲤鱼怎么做 实践经历怎么写 我的世界鞍怎么做 数学论文怎么写 毕业自我鉴定怎么写 浑身发冷是怎么回事 盛五笔怎么打 房产税怎么计算 苹果6s怎么下载软件 防火墙怎么关