当前位置: 首页 > news >正文

海南微信网站制作平台如何制作网页链接

海南微信网站制作平台,如何制作网页链接,网站备案取消接入,wordpress 古典主题Java NIO 1.BIO与NIO的区别 BIO为阻塞IO,NIO为非阻塞IO。 BIONIOJAVA1.4之前Java 1.4之后面向流:以byte为单位处理数据面向块:以块为单位处理数据同步阻塞同步非阻塞无选择器(Selector) 1.1NIO的核心组成部分 Cha…

Java NIO

1.BIO与NIO的区别

BIO为阻塞IO,NIO为非阻塞IO。

BIONIO
JAVA1.4之前Java 1.4之后
面向流:以byte为单位处理数据面向块:以块为单位处理数据
同步阻塞同步非阻塞
选择器(Selector)

1.1NIO的核心组成部分

  • Channels
    Channel是双向的,既能做读操作也能做写操作,常见Channel如下:
Channel类功能
FileChannel文件数据读写
DtagramChannelUDP数据读写
ServerScoketChannel和SocketChannelTCP数据读写
  • Buffers
    缓冲区
  • Selectors
    选择器,用于监听多个通道的事件,可实现单个线程就可以监听多个客户端通道。

2.Channel

Channel封装了对数据源的操作,可以操作多种数据源,但是不必关心数据源的具体物理结构。Channel用于在字节缓冲区和另一侧的实体之间有效地传输数据。

Channel所有数据都是通过Buffer对象进行处理,通道要么读数据到缓冲区,要么从缓冲区写入到通道。

public interface Channle extend Closeable {public boolean isOpen();public void close() throws IOException;
}
2.1 FileChannel

FileChannel常用方法如下;

方法名作用
public int read(ByteBuffer dst)从通道读取数据并放到缓冲区中
public int write(ByteBuffer src)把缓冲区的数据写到通道中
public long transferFrom(ReadableByteChannel src, long position, long count)从目标通道中复制数据到当前通道
public long transferTo(long position, long count, WritableByteChannel target)把数据从当前通道复制给目标通道

无法直接打开一个FileChannel,常见的方法是通过inPutStream和outPutStream或RandomAccessFile获取一个FileChannel实例。
示例代码
文件写入示例

package com.hero.nio.file;
import org.junit.Test;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;
//通过NIO实现文件IO
public class TestNIO {
@Test //往本地文件中写数据
public void test1() throws Exception{//1. 创建输出流FileOutputStream fos=new FileOutputStream("basic.txt");//2. 从流中得到一个通道FileChannel fc=fos.getChannel();//3. 提供一个缓冲区ByteBuffer buffer=ByteBuffer.allocate(1024);//4. 往缓冲区中存入数据String str="HelloJava";buffer.put(str.getBytes());//5. 翻转缓冲区buffer.flip();while(buffer.hasRemaining()) {//6. 把缓冲区写到通道中fc.write(buffer);}//7. 关闭fos.close();}
}

文件复制示例

public void test4() throws Exception {//1. 创建两个流FileInputStream fis = new FileInputStream("basic2.txt");FileOutputStream fos = new FileOutputStream("basic3.txt");//2. 得到两个通道FileChannel sourceFC = fis.getChannel();FileChannel destFC = fos.getChannel();//3. 复制destFC.transferFrom(sourceFC, 0, sourceFC.size());//4. 关闭fis.close();fos.close();
}
http://www.jinmujx.cn/news/118755.html

相关文章:

  • 企业网站建设合同应注意什么百度竞价渠道代理
  • 南部网站建设免费搭建网站的软件
  • 企业做网站的费用如何科目百度app下载并安装最新版
  • 哪些网站可以做招商广告语绍兴seo公司
  • 惠州论坛网站建设免费推广网站大全集合
  • 福建网站开发定制公司网站seo外包
  • 安阳县事业单位招聘seo自然排名关键词来源的优缺点
  • 微信公众平台是什么湖南靠谱关键词优化
  • html怎么做网站地图wordpress免费建站
  • 怎样自己做网站模板百度推广有用吗
  • 专业的公司网站开发seo怎么做最佳
  • 衡水注册公司流程和费用seo关键字优化价格
  • 电商网站制作seo的优点和缺点
  • 凤岗网站仿做网络推广是干嘛的
  • 色块的网站服务器域名查询
  • 邯郸学校网站建设价格杭州网站seo推广软件
  • 用java做网站要学什么苏州优化排名seo
  • 如何使用ftp上传网站上海b2b网络推广外包
  • 湖南政府建设局网站营销型网站有哪些功能
  • 格尔木哪里有做网站的免费建网站的平台
  • 昆山市做网站的公司网络营销题库案例题
  • 网站做图标链接网站建设费用多少钱
  • php做网站视频播放下载功能长春网站制作企业
  • 有哪些推广的网站平台推广引流
  • 用织梦建网站志鸿优化网下载
  • 汽车网站哪个好河南seo推广
  • 网站佣金怎么做会计科目谷歌应用商店
  • 如何做英文网站的中文网住房和城乡建设部官网
  • 做网站开发需要学哪些东西指数基金什么意思
  • 网站备案流程图搜索引擎排名2021