28 lines
756 B
Java
28 lines
756 B
Java
|
// streams/FileToWordsBuilder.java
|
||
|
import java.io.*;
|
||
|
import java.nio.file.*;
|
||
|
import java.util.stream.*;
|
||
|
|
||
|
public class FileToWordsBuilder {
|
||
|
Stream.Builder<String> builder = Stream.builder();
|
||
|
public FileToWordsBuilder(String filePath)
|
||
|
throws Exception {
|
||
|
Files.lines(Paths.get(filePath))
|
||
|
.skip(1) // Skip the comment line at the beginning
|
||
|
.forEach(line -> {
|
||
|
for(String w : line.split("[ .?,]+"))
|
||
|
builder.add(w);
|
||
|
});
|
||
|
}
|
||
|
Stream<String> stream() { return builder.build(); }
|
||
|
public static void main(String[] args) throws Exception {
|
||
|
new FileToWordsBuilder("Cheese.dat").stream()
|
||
|
.limit(7)
|
||
|
.map(w -> w + " ")
|
||
|
.forEach(System.out::print);
|
||
|
}
|
||
|
}
|
||
|
/* Output:
|
||
|
Not much of a cheese shop really
|
||
|
*/
|