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

网站建设仟金手指专业12asp网站建设源码

网站建设仟金手指专业12,asp网站建设源码,wordpress换域名媒体库不显示图片,搭建个人网站大文件拆分小文件求top上周#xff0c;我讨论了类Pattern新的#xff08;since 1.8#xff09;方法splitAsStream只能根据流的需要从字符序列中读取字符序列#xff0c;并且不能继续进行模式匹配以创建所有可能的元素并返回它作为流。 这种行为是流的本质#xff0c;它是支… 大文件拆分小文件求top 上周我讨论了类Pattern新的since 1.8方法splitAsStream只能根据流的需要从字符序列中读取字符序列并且不能继续进行模式匹配以创建所有可能的元素并返回它作为流。 这种行为是流的本质它是支持高性能应用程序的必经之路。 正如我在上周承诺的那样在本文中我将展示splitAsStream的实际应用在该应用中处理流而不是将整个字符串拆分成数组并对其进行处理确实有意义。 正如您可能从文章标题中猜到的那样该应用程序正在将文件与一些标记分开。 只要文件的长度不超过2GB就可以将其表示为CharSequence 。 限制来自以下事实 CharSequence的长度是int值在Java中为32位。 文件长度为long 为64位。 由于从文件读取比从已在内存中的字符串读取要慢得多因此使用流处理的惰性是有意义的。 我们需要的是一个由文件备份的字符序列实现。 如果可以的话我们可以编写如下程序 public static void main(String[] args) throws FileNotFoundException {Pattern p Pattern.compile([,\\.\\-;]);final CharSequence splitIt new FileAsCharSequence(new File(path_to_source\\SplitFileAsStream.java));p.splitAsStream(splitIt).forEach(System.out::println);} 该代码不读取文件的任何部分但不需要假定实现FileAsCharSequence不会读取文件贪婪的内容。 FileAsCharSequence类的实现可以是 package com.epam.training.regex;import java.io.*;public class FileAsCharSequence implements CharSequence {private final int length;private final StringBuilder buffer new StringBuilder();private final InputStream input;public FileAsCharSequence(File file) throws FileNotFoundException {if (file.length() (long) Integer.MAX_VALUE) {throw new IllegalArgumentException(File is too long to handle as character sequence);}this.length (int) file.length();this.input new FileInputStream(file);}Overridepublic int length() {return length;}Overridepublic char charAt(int index) {ensureFilled(index 1);return buffer.charAt(index);}Overridepublic CharSequence subSequence(int start, int end) {ensureFilled(end 1);return buffer.subSequence(start, end);}private void ensureFilled(int index) {if (buffer.length() index) {buffer.ensureCapacity(index);final byte[] bytes new byte[index - buffer.length()];try {int length input.read(bytes);if (length bytes.length) {throw new IllegalArgumentException(File ended unexpected);}} catch (IOException e) {throw new RuntimeException(e);}try {buffer.append(new String(bytes, utf-8));} catch (UnsupportedEncodingException ignored) {}}} } 该实现只从文件读取那么多字节这是对charAt或subSequence的最后一个实际方法调用所需要的。 如果您有兴趣可以改进此代码以仅将真正需要的字节保留在内存中并删除已经返回到流中的字节。 要知道不需要什么字节上一篇文章提供了一个很好的提示那就是splitAsStream永远不会接触索引比最后一次调用subSequence的第一个 start 参数小的subSequence 。 但是如果您以一种丢弃字符的方式实现代码并且如果有人要访问已经抛出的字符而失败那么它将无法真正实现CharSequence接口尽管只要使用splitAsStream 它仍然可以很好地工作。长期以来实现不会改变并且开始需要一些已经传递的字符。 嗯我不确定但是如果我们使用一些复杂的正则表达式作为拆分模式也可能会发生这种情况。 编码愉快 翻译自: https://www.javacodegeeks.com/2017/11/split-file-stream.html大文件拆分小文件求top
http://www.pierceye.com/news/800389/

相关文章:

  • 物流企业网站建设特色吉林智能网站建设价格
  • 安徽省教育基本建设学会网站光明新区建设网站
  • 图片无法显示wordpress我是seo关键词
  • 设计商标的网站最新的电商资讯有哪些
  • 烟台开发区网站建设做家教中介网站赚钱吗
  • 商洛市建设工程造价管理站网站网站无障碍建设报告
  • 网站如何做原创广州网站优化关键词公司
  • 海门市城乡建设局网站深圳专业做网站专业
  • 网站首页的快照更新慢凉山建设机械网站
  • 怎么区分营销型网站如何建立公司的网站
  • 宁波网站建设鲤斯设计游戏网站上图片动态怎么做的
  • 重庆php网站建设网站ip地址 转向域名
  • 知名的电子商务网站从化手机网站建设
  • 钓鱼网站 企业形象做一婚恋网站多少钱
  • 南阳网站建设公司wordpress视频无法播放视频
  • 广西防城港建设厅网站wordpress导航栏修改
  • 网站建设桂林永川网站建设公司
  • 英文网站设计制作wordpress搜索不到
  • 企业营销网站建设的基本步骤吉林省建设工程质量监督站网站
  • 现在用什么软件做网站北京工程设计公司排名
  • 烟台网站开发技术找人做网站服务器不是自己的怎么办
  • 网站样式下载pc网站建设的优势是什么
  • 网站是怎么建设的网页制作基础教程第2版葛艳玲答案
  • 企业做一个网站的费用网站设计专业需要什么
  • 昆山住房和城乡建设部网站网站开发用的工具
  • 广州优化网站建设网站建设是怎么赚钱
  • 公司建设网站公司系统软件开发培训机构
  • 小程序分销系统开发成熟的网站怎么做seo推广
  • 网站dns修改wordpress极简清新主题
  • 南京网站建设价位招商门户网站建设方案