import java.io.IOException;
import java.nio.charset.Charset;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;

/**
* Java8 新API读取文件内容
*
* Created by wangyingjie1 on 2017/2/22.
*/
public class ReadFile {

public static void main(String[] args) {

try {

String fileName = "D:\\SrcCode\\Java8InAction\\src\\main\\resources\\lambdasinaction\\chap5\\data.txt";

//读取文件
Stream<String> stringStream = Files
.lines(Paths.get(fileName), Charset.defaultCharset())
.flatMap(line -> Arrays.stream(line.split(" ")));

List<String> words = stringStream.collect(Collectors.toList());
System.out.println("words===>" + words);

List<String> lineLists = Files
.lines(Paths.get(fileName), Charset.defaultCharset())
.flatMap(line -> Arrays.stream(line.split("\n")))
.collect(Collectors.toList());

//输出文件函数
System.out.println("lineLists====" + lineLists.size());

//输出每一行文件内容
lineLists.stream().forEach(System.out::println);

//统计单词的个数
long uniqueWords = Files.lines(Paths.get(fileName), Charset.defaultCharset())
.flatMap(line -> Arrays.stream(line.split(" ")))
.distinct()
.count();

System.out.println("There are " + uniqueWords + " unique words in data.txt");

} catch (IOException e) {
e.printStackTrace();
}
}

}

Java8 新API读取文件内容的更多相关文章

  1. HTML5的File API读取文件信息

    html结构: <div id="fileImage"></div> <input type="file" value=" ...

  2. php 写入文件 读取文件内容

    1.写入文件 fopen("文件名.扩展名","操作方式") fwrite(读取的文件,"写入的文件"); fclose(打开的对象变量); ...

  3. shell读取文件内容

           Shell脚本,执行解释速度快.代码简单易于理解.在shell代码编写过程中,经常会用到读取文件内容. 写法一: ------------------------------------ ...

  4. Python跳过第一行读取文件内容

    Python编程时,经常需要跳过第一行读取文件内容.比较容易想到是为每行设置一个line_num,然后判断line_num是否为1,如果不等于1,则进行读取操作.相应的Python代码如下: inpu ...

  5. 用c#读取文件内容中文是乱码的解决方法:

    用c#读取文件内容中文是乱码的解决方法: //方法1: StreamReader din = new StreamReader(@"C:\1.txt", System.Text.E ...

  6. android按行读取文件内容的几个方法

    一.简单版 import java.io.FileInputStream; void readFileOnLine(){ String strFileName = "Filename.txt ...

  7. android逐行读取文件内容以及保存为文件

    用于长时间使用的apk,并且有规律性的数据 1,逐行读取文件内容 //首先定义一个数据类型,用于保存读取文件的内容 class WeightRecord { String timestamp; flo ...

  8. 7 RandomAccessFile读取文件内容保存--简单例子(需要验证)

    import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.*; /** * 读取动态产生的文件内容 */ publ ...

  9. HTML5 file api读取文件的MD5码工具

    1.工具的用途:用HTML5 file api读取文件的MD5码.MD5码在文件的唯一性识别上有很重要的应用,业内常用MD5进行文件识别.文件秒传.文件安全性检查等: 2.适用性:IE.Chrome皆 ...

随机推荐

  1. mysql常用的优化措施

    http://www.cnblogs.com/ggjucheng/archive/2012/11/07/2758058.html

  2. Python is 和 == 的区别, 编码和解码

    一.is 和 == 的区别 is : 进行比较,比较的是内存地址是否一致 ==:进行比较,比较的是值是否相等 1.小数据池: 数字小数据池范围 -5~256 字符串中如果有特殊字符则他们的内存地址不一 ...

  3. 对MVVM思想的在认识

    如果说MVP是对MVC的进一步改进,那么MVVM则是思想的完全变革.它是将“数据模型数据双向绑定”的思想作为核心,因此在View和Model之间没有联系,通过ViewModel进行交互,而且Model ...

  4. OSI七层模型含义

    应用层:由用户自己规定,只要形成的消息能与表示层接口.这包括各机互访协议,分布式数据库协议等. 表示层:是在满足用户需求的基础上,尽可能的节省传输费用而设置的.如文本压缩.常用词转换.加密.变更文件格 ...

  5. Java Knowledge series 2

    JVM Analysis & Design The object-oriented paradigm is a new and different way of thingking about ...

  6. js报错 object is not a function

    主要是js函数名重名了,重命名就可以了.

  7. Node.js-sublime text3 配置node.js(ERROR: The process "node.exe" not found.)

    默认已经安装好sublime.node和npm 1.sublime的node.js插件下载 由于在package control上经常下载失败,所以这里直接从GitHub上进行下载! GitHub下载 ...

  8. April 10 2017 Week 15 Monday

    He alone is poor who does not possess knowledge. 没有知识,才是贫穷. Knowledge, as a important part of wisdom ...

  9. nodejs一个函数实现消息队列中间件

    消息队列中间件(Message Queue)相信大家不会陌生,如Kafka.RabbitMQ.RocketMQ等,已经非常成熟,在大大小小的公司和项目中也已经广泛使用. 有些项目中,如果是只使用初步的 ...

  10. 触发transition的几种方式--转

    鼠标单击 获取焦点 或元素发生任何改变,怎么说呢,目前的理解是,元素发生了什么改变,使得它跟以前不一样了.比如同样是p元素,先有一个样式.后来这个p被hover了.被focus了.或者通过另外一条途径 ...