• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Java LineTerminator类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中it.unimi.dsi.fastutil.io.FastBufferedInputStream.LineTerminator的典型用法代码示例。如果您正苦于以下问题:Java LineTerminator类的具体用法?Java LineTerminator怎么用?Java LineTerminator使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



LineTerminator类属于it.unimi.dsi.fastutil.io.FastBufferedInputStream包,在下文中一共展示了LineTerminator类的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: FileLinesList

import it.unimi.dsi.fastutil.io.FastBufferedInputStream.LineTerminator; //导入依赖的package包/类
/** Creates a file-lines collection for the specified filename with the specified encoding, buffer size and terminator set.
 *
 * @param filename a filename.
 * @param encoding an encoding.
 * @param bufferSize the buffer size for {@link FastBufferedInputStream}.
 * @param terminators a set of line terminators.
 */
public FileLinesList(final CharSequence filename, final String encoding, final int bufferSize, final EnumSet<FastBufferedInputStream.LineTerminator> terminators) throws IOException {
	this.bufferSize = bufferSize;
	this.terminators = terminators;
	this.filename = filename.toString();

	inputStream = new FastBufferedInputStream(new FileInputStream(this.filename), bufferSize);
	decoder = (charset = Charset.forName(encoding)).newDecoder();
	byte[] array = new byte[16];
	int count = 0, start, len;

	for(;;) {
		start = 0;
		while((len = inputStream.readLine(array, start, array.length - start, terminators)) == array.length - start) {
			start += len;
			array = ByteArrays.grow(array, array.length + 1);
		};

		if (len != -1) count++;
		else break;
	}

	size = count;
	byteBuffer = ByteBuffer.wrap(array);
	charBuffer = CharBuffer.wrap(new char[array.length]);

	inputStream.position(0);
	borders = new EliasFanoMonotoneLongBigList(count, inputStream.length(), new LongIterator() {
		long pos = 0;
		byte[] buffer = byteBuffer.array();

		@Override
		public boolean hasNext() {
			return pos < size;
		}

		@Override
		public long nextLong() {
			if (! hasNext()) throw new NoSuchElementException();
			pos++;
			try {
				final long result = inputStream.position();
				inputStream.readLine(buffer, terminators);
				return result;
			}
			catch (final IOException e) {
				throw new RuntimeException(e);
			}
		}
	});
}
 
开发者ID:vigna,项目名称:Sux4J,代码行数:58,代码来源:FileLinesList.java


示例2: FileLinesBigList

import it.unimi.dsi.fastutil.io.FastBufferedInputStream.LineTerminator; //导入依赖的package包/类
/** Creates a file-lines collection for the specified filename with the specified encoding, buffer size and terminator set.
 *
 * @param filename a filename.
 * @param encoding an encoding.
 * @param bufferSize the buffer size for {@link FastBufferedInputStream}.
 * @param terminators a set of line terminators.
 */
public FileLinesBigList(final CharSequence filename, final String encoding, final int bufferSize, final EnumSet<FastBufferedInputStream.LineTerminator> terminators) throws IOException {
	this.bufferSize = bufferSize;
	this.terminators = terminators;
	this.filename = filename.toString();

	inputStream = new FastBufferedInputStream(new FileInputStream(this.filename), bufferSize);
	decoder = (charset = Charset.forName(encoding)).newDecoder();
	byte[] array = new byte[16];
	long count = 0;
	int start, len;

	for(;;) {
		start = 0;
		while((len = inputStream.readLine(array, start, array.length - start, terminators)) == array.length - start) {
			start += len;
			array = ByteArrays.grow(array, array.length + 1);
		};

		if (len != -1) count++;
		else break;
	}

	size = count;
	byteBuffer = ByteBuffer.wrap(array);
	charBuffer = CharBuffer.wrap(new char[array.length]);

	inputStream.position(0);
	borders = new EliasFanoMonotoneLongBigList(count, inputStream.length(), new LongIterator() {
		long pos = 0;
		byte[] buffer = byteBuffer.array();

		@Override
		public boolean hasNext() {
			return pos < size;
		}

		@Override
		public long nextLong() {
			if (! hasNext()) throw new NoSuchElementException();
			pos++;
			try {
				final long result = inputStream.position();
				inputStream.readLine(buffer, terminators);
				return result;
			}
			catch (final IOException e) {
				throw new RuntimeException(e);
			}
		}
	});
}
 
开发者ID:vigna,项目名称:Sux4J,代码行数:59,代码来源:FileLinesBigList.java



注:本文中的it.unimi.dsi.fastutil.io.FastBufferedInputStream.LineTerminator类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java AnnouncementsPageEntry类代码示例发布时间:2022-05-16
下一篇:
Java DataAdapterService类代码示例发布时间:2022-05-16
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap