java nio简介
7页1、1.基本概念IO是主存和外部设备(硬盘、终端和网络等)拷贝数据的过程。IO是操作系统的底层功能实现,底层通过I/O指令进行完成。所有语言运行时系统提供执行I/O较高级别的工具。(c的printf scanf,java的面向对象封装)2.Java标准io回顾Java标准IO类库是io面向对象的一种抽象。基于本地方法的底层实现,我们无须关注底层实现。InputStreamOutputStream(字节流):一次传送一个字节。ReaderWriter(字符流):一次一个字符。3.nio简介nio是java New IO的简称,在jdk1.4里提供的新api。Sun官方标榜的特性如下:为所有的原始类型提供(Buffer)缓存支持。字符集编码解码解决方案。Channel:一个新的原始I/O抽象。支持锁和内存映射文件的文件访问接口。提供多路(non-bloking)非阻塞式的高伸缩性网络I/O。本文将围绕这几个特性进行学习和介绍。4.Buffer&ChanelChannel和buffer是NIO是两个最基本的数据类型抽象。Buffer:是一块连续的内存块。是NIO数据读或写的中转地。Channel
2、:数据的源头或者数据的目的地用于向buffer提供数据或者读取buffer数据,buffer对象的唯一接口。异步I/O支持图1:channel和buffer关系例子1:CopyFile.java:Java代码1. packagesample;2. 3. importjava.io.FileInputStream;4. importjava.io.FileOutputStream;5. importjava.nio.ByteBuffer;6. importjava.nio.channels.FileChannel;7. 8. publicclassCopyFile9. publicstaticvoidmain(Stringargs)throwsException10. Stringinfile=C:copy.sql;11. Stringoutfile=C:copy.txt;12. /获取源文件和目标文件的输入输出流13. FileInputStreamfin=newFileInputStream(infile);14. FileOutputStreamfout=newFileOutput
3、Stream(outfile);15. /获取输入输出通道16. FileChannelfcin=fin.getChannel();17. FileChannelfcout=fout.getChannel();18. /创建缓冲区19. ByteBufferbuffer=ByteBuffer.allocate(1024);20. while(true)21. /clear方法重设缓冲区,使它可以接受读入的数据22. buffer.clear();23. /从输入通道中将数据读到缓冲区24. intr=fcin.read(buffer);25. /read方法返回读取的字节数,可能为零,如果该通道已到达流的末尾,则返回-126. if(r=-1)27. break;28. 29. /flip方法让缓冲区可以将新读入的数据写入另一个通道30. buffer.flip();31. /从输出通道中将数据写入缓冲区32. fcout.write(buffer);33. 34. 35. 其中buffer内部结构如下(下图拷贝自资料):图2:buffer内部结构一个buffer主要由position
《java nio简介》由会员小**分享,可在线阅读,更多相关《java nio简介》请在金锄头文库上搜索。
2020年高考真题——理科综合(全国卷Ⅲ)+Word版含答案
2021年绝味鸭脖策划书
2021年熟食店创业方案
2021年熟食店开店策划
2021年卤菜店创业计划书
2021年周黑鸭网络营销策划方案
东大21年1月考试《现代设计方法》考核作业
谈我国行政管理效率的现状及其改观对策(论文)
单证员考试-备考辅导-复习资料:无贸易背景信用证案分析.docx
土木工程毕业生答辩自述.docx
建筑学毕业后工作状态真实写照.doc
C#代码规范(湖南大学).doc
xx区食药监局2019年工作总结及2020年工作计划
2019年中医院药物维持治疗门诊工人先锋号先进事迹
2019年度xx乡镇林长制工作总结
2019年性艾科工作计划书
2019年人才服务局全国扶贫日活动开展情况总结
关于组工信息选题的几点思考
摘了穷帽子 有了新模样
2019年某集团公司基层党支部书记培训班心得体会
2024-04-08 33页
2024-04-08 10页
2024-04-08 25页
2024-04-08 12页
2024-04-08 10页
2024-04-08 21页
2024-04-08 40页
2024-04-08 34页
2024-04-08 28页
2024-04-08 28页