加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

使用java NIO进行读文件

发布时间:2020-12-15 03:18:47 所属栏目:Java 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 Java NIO非堵塞技术实际是采取Reactor模式,或者说是Observer模式为我们监察I/O端口,如果有内容进来,会自动通知我们,这样,我们就不必开启多个线程

以下代码由PHP站长网 52php.cn收集自互联网

现在PHP站长网小编把它分享给大家,仅供参考

Java NIO非堵塞技术实际是采取Reactor模式,或者说是Observer模式为我们监察I/O端口,如果有内容进来,会自动通知我们,这样,我们就不必开启多个线程死等,从外界看,实现了流畅的I/O读写,不堵塞了。 这段代码是使用java NIo读一个文件的简单应用。
 public static String readUseNIO(File file) {
  FileInputStream fin;
  String string = null;
  try {
   fin = new FileInputStream(file);
   FileChannel channel = null;
   channel = fin.getChannel();
   // 文件内容的大小
   int size = (int) channel.size();
   // 获取通道
   FileChannel fc = fin.getChannel();
   // 创建缓冲区
   ByteBuffer buffer = ByteBuffer.allocate(1024 * 1024 * 1);
   // 读取数据到缓冲区
   fc.read(buffer);
   // Buffer bf = buffer.flip();
   // System.out.println("limt:" + bf.limit());
   byte[] bt = buffer.array();
   string = new String(bt,size,"UTF-8");
   // System.out.println(new String(bt,size));
   // FileUtil.appendString("F:/html/22.html",new String(bt,// size));
   buffer.clear();
   buffer = null;
   fin.close();
  } catch (FileNotFoundException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  return string;
 }

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读