Readable接口就是为了Scanner类专门创建的一个接口,使得Scanner的入口参数不必限于某个类。实现Readable接口要只需是实现public int read(CharBuffer cb)方法。当方法返回-1时候Scanner类停止读取。package com.liuc.test.think.chapter9;
import java.io.IOException;
import java.nio.CharBuffer;
import java.util.Random;
import java.util.Scanner;
public class RandomWords implements Readable{
private Random rand=new Random(47);
private static final char[] capitals="ABCDEFGHIJKLMOPQRSTUVWXYZ".toCharArray();
private static final char[] lowers="ABCDEFGHIJKLMOPQRSTUVWXYZ".toLowerCase().toCharArray();
private static final char[] vowels="aeiou".toCharArray();
private int count;
public RandomWords(int count) {
this.count=count;
}
@Override
public int read(CharBuffer cb) throws IOException {
if (count--==0) {
return -1;
}
cb.append(capitals[rand.nextInt(capitals.length)]);
for (int i = 0; i < 4; i++) {
cb.append(vowels[rand.nextInt(vowels.length)]);
cb.append(lowers[rand.nextInt(lowers.length)]);
}
cb.append(" ");
return 10;
}
public static void main(String[] args) {
Scanner scanner=new Scanner(new RandomWords(10));
while (scanner.hasNext()) {
System.out.println(scanner.next());
}
}
}
分享到:
相关推荐
可以在这篇博文中找到Writable和Readable接口背后的更多背景: 发电机 Generator基本上是scala.Iterator :核心功能不是基于拉取的hasNext和next: T方法,而是基于基于推送的generate方法,它类似于foreach ,但做了...
球流 接口。用法 var gs = require ( 'glob-stream' ) ;var readable = gs ( './files/**/*.coffee' , { /* options */ } ) ;var writable = /* your WriteableStream */readable . pipe ( writable ) ; 您可以传递...
微信小程序 Node.js (基础七) Stream(流)Stream 是一个抽象接口,Node 中有很多对象实现了这个接口。Stream 有四种流类型:- Readable - 可读操作。- Writable - 可写操作。- Duplex - 可读可写操作.- Transform - ....
使用 http 请求对象的 ReadableStream 接口 此页面: : 提到 requestListener 函数会自动添加到... 现在,在 ReadableStream (stream.Readable) 接口, //nodejs.org/api/stream.html 的文档中,我们发现它有事件 r
OOPS-WP:WordPress的面向对象的编程结构 该库提供了抽象类,接口和特征的集合,以... if ( is_readable( __DIR__ . '/vendor/autoload.php' ) ) { require_once __DIR__ . '/vendor/autoload.php'; } 注意: 提供有
The pytest framework makes it easy to write small, readable tests, and can scale to support complex functional testing for applications and libraries. pytest requires: Python 3.7+ or PyPy3. PyPI ...
它们与PHP本身中的流非常相似,但是具有更适合异步,非阻塞I / O的接口。 目录 流失事件 管道事件 错误事件 结束活动 isWritable() 写() 结尾() 关闭() DuplexStreamInterface 创建流 ...
此资源为viso文档,主要为Java 输入与输出的UML类,包括:输入流与输出流的层次结构、Reader和Writer的层次结构、Closeable、Flushable、Readable和Appendable接口。
它为文件提供了一个Readable流接口,该接口实时发出附加到该文件的新数据。 它甚至可以等效于tail -F ,以承受日志旋转。 npm上有很多tail模块,但是这一模块通过以下方式与众不同: 作为Readable流,因此您的...
Stream在node.js中是一个抽象的接口,基于EventEmitter,也是一种Buffer的高级封装,用来处理流数据。流模块便是提供各种API让我们可以很简单的使用Stream。 流分为四种类型,如下所示: Readable,可读流 ...
httpstream提供了一个Readable流接口(用于Node 0.10及更高版本),该接口通过从上次中断的地方重试请求来抽象化上游的瞬时故障。 httpstream需要Node 0.10或更高版本以及node-restify模块。 从技术上来讲,restify...
基本上,它提供了一个接口,可以从提供的数字中减去1。安装npm install -- save start - from - zero用法示例import num from 'start-from-zero' ;// when you want to convert under-the-hood number to human-...
reduplexer(可写,可读,... stdout , { objectMode : true } )安装npm install reduplexer --save 应用程序接口reduplexer(可写,可读,选项) 使用给定的选项创建基于writable和readable的流。 writable和readable
一、什么是Stream(流) 流(stream)在 Node.js 中是处理流数据的抽象接口(abstract interface)。... Readable – 可读的流 (例如 fs.createReadStream())。 Writable – 可写的流 (例如 fs.crea
Stream 是一个抽象接口,Node 中有很多对象实现了这个接口。 Stream 有四种流类型: - Readable - 可读操作。 - Writable - 可写操作。 - Duplex - 可读可写操作. - Transform - 操作被写入数据,然后读出...
因为Scala 2.8 SBT编译器接口不是基于Java 8构建的。 下载并安装Java 7(如果需要,请设置您的JAVA_HOME) 下载并安装SBT 克隆此仓库 运行sbt run 该程序将显示更多说明。 为了使事情变得更奇特,您可以尝试: ...
node.js中的流 stream 是处理流式数据的抽象接口。node.js 提供了很多流对象,像http中的request和response,和 process.stdout 都是流的实例。 流可以是 可读的,可写的,或是可读可写的。所有流都是 events 的实例...
该接口的行为与普通的Readable流完全相同: var FileStream = require ( 'minfs' ) ; var file = getSomeBigFile ( ) ; fs = FileStream ( file ) ; fs . read ( 10 ) ; // will return the first 10 ...
所有流都直接继承接口或基类。 套接字被包装,然后使用事件和流方法进行访问,但是如果您想做魔术,它会暴露在外。 所有基本HTTP类均基于泛型,因此即使不是HTTP / 2形式,您也可以创建自己的HTTP版本。 性能...
The style and content provide a readable and informative overview aimed toward non-specialists. The first chapter gives a particularly easy introduction to BCIs. The next three chapters cover the ...