Java在线运行

版本:

所属目录
点击了解高性能代码运行API
运行结果
教程手册
代码仓库
极速运行
终端运行
图形+终端

                        
以下是用户最新保存的代码
DES加密 发布于:2024-05-23 12:03 测试代码! 发布于:2024-05-21 16:57 java字符匹配代码 发布于:2024-05-21 13:17 加密撒阿斯顿 发布于:2024-05-21 06:26 rsa 加密的Java代码 发布于:2024-05-19 13:48 黎明杀机技能随机 发布于:2024-05-19 09:13 随机数获取 发布于:2024-05-18 21:35 随机数获取 发布于:2024-05-18 21:17 测试加密算法 发布于:2024-05-18 19:17 内部类代码等 发布于:2024-05-17 11:10 父类引用调用子类 发布于:2024-05-16 08:33 Java第一个语言 发布于:2024-05-15 18:45 HG6201T 超级密码破解. 发布于:2024-05-12 15:50 围圈站人,每数到3的被淘汰,最后剩下的人是第几个 发布于:2024-05-12 10:13 定泥浆泵压力的最小值和最大值 发布于:2024-05-09 16:53 AES 解密: 授权时间 发布于:2024-05-08 20:39 离散数学1 选做1 发布于:2024-05-08 11:15 java bigInteger encodes 发布于:2024-05-07 21:25 五子棋游戏 发布于:2024-05-04 23:37 贪心算法求解 发布于:2024-05-01 15:03 王兵大Sb 发布于:2024-04-29 20:59 Java算法测试 发布于:2024-04-27 19:35 第一个测试类 发布于:2024-04-27 17:09 自己写java的string类 发布于:2024-04-27 14:35 Hello java 发布于:2024-04-24 01:42 每个查询任务应该都有自己唯一的任务id,遇到这种情况一般是通过异常处理,当遇到用户点击取消查询的时候,通过java强制取消任务管理器的任务,在任务中断以后,检查是否关闭需要关闭的资源,列如数据库链接等问题 发布于:2024-04-22 23:59 hello world 发布于:2024-04-22 10:39 java-BigDecimal运算保留两位小数更准确,符合四舍五入 发布于:2024-04-19 21:39 dfsd ds东方闪电的发生发多少发多少多少发生的大多数f第三方多少 发布于:2024-04-18 14:12 我的第一个测试程序 发布于:2024-04-17 21:29 1-2020中含有2的数字 发布于:2024-04-12 21:26 转换大小写 发布于:2024-04-12 20:53 阶乘相加求和,保留后9位 发布于:2024-04-12 15:10 计数器计数 发布于:2024-04-11 21:41 类变量赋值方法 发布于:2024-04-11 21:27 希尔排序算法 发布于:2024-04-11 09:10 二分法查找 发布于:2024-04-11 08:57 冒泡排序算法 发布于:2024-04-10 11:14 代码片段-正则表达式提取特定文本 发布于:2024-04-02 17:58 Java代码 发布于:2024-03-30 17:02 三角形判定 发布于:2024-03-29 10:34 1hello world 发布于:2024-03-27 00:30 jia fa ji suan 发布于:2024-03-21 16:11 sudoku solver (not completed) 发布于:2024-03-16 23:48 java第一次作业 发布于:2024-03-15 00:22 获取个十百 发布于:2024-03-14 23:38 MD5编码规则 与时间格式化 发布于:2024-03-13 14:18 传递继承的示例 发布于:2024-03-12 18:10 斐波那契数列 发布于:2024-03-12 17:36 DS 代码示例保存。 发布于:2024-03-06 08:47 [更多]
显示目录

Java 8 Stream – Read a file line by line



学习嵌入式的绝佳套件,esp8266开源小电视成品,比自己去买开发板+屏幕还要便宜,省去了焊接不当搞坏的风险。 蜂鸣版+触控升级仅36元,更强的硬件、价格全网最低。

点击购买 固件广场

In Java 8, you can use Files.lines to read file as Stream.

c://lines.txt – A simple text file for testing

line1
line2
line3
line4
line5

1. Java 8 Read File + Stream

TestReadFile.java

package com.mkyong.java8;

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.stream.Stream;

public class TestReadFile {

    public static void main(String args[]) {

        String fileName = "c://lines.txt";

        //read file into stream, try-with-resources
        try (Stream<String> stream = Files.lines(Paths.get(fileName))) {

            stream.forEach(System.out::println);

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

    }

}

Output

line1
line2
line3
line4
line5

2. Java 8 Read File + Stream + Extra

This example shows you how to use Stream to filter content, convert the entire content to upper case and return it as a List.

TestReadFile2.java

package com.mkyong.java8;

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;

public class TestReadFile2 {

    public static void main(String args[]) {

        String fileName = "c://lines.txt";
        List<String> list = new ArrayList<>();

        try (Stream<String> stream = Files.lines(Paths.get(fileName))) {

            //1. filter line 3
            //2. convert all content to upper case
            //3. convert it into a List
            list = stream
                    .filter(line -> !line.startsWith("line3"))
                    .map(String::toUpperCase)
                    .collect(Collectors.toList());

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

        list.forEach(System.out::println);

    }

}

Output

LINE1
LINE2
LINE4
LINE5

3. BufferedReader + Stream

A new method lines() has been added since 1.8, it lets BufferedReader returns content as Stream.

TestReadFile3.java

package com.mkyong.java8;

import java.io.BufferedReader;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;

public class TestReadFile3{

    public static void main(String args[]) {

        String fileName = "c://lines.txt";
        List<String> list = new ArrayList<>();

        try (BufferedReader br = Files.newBufferedReader(Paths.get(fileName))) {

            //br returns as stream and convert it into a List
            list = br.lines().collect(Collectors.toList());

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

        list.forEach(System.out::println);

    }

}

Output

line1
line2
line3
line4
line5

4. Classic BufferedReader And Scanner

Enough of Java 8 and Stream, let revisit the classic BufferedReader (JDK1.1) and Scanner (JDK1.5) examples to read a file line by line, it is working still, just developers are moving toward Stream.

4.1 BufferedReader + try-with-resources example.

TestReadFile4.java

package com.mkyong.core;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class TestReadFile4{

    public static void main(String args[]) {

        String fileName = "c://lines.txt";

        try (BufferedReader br = new BufferedReader(new FileReader(fileName))) {

            String line;
            while ((line = br.readLine()) != null) {
                System.out.println(line);
            }

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

    }

}

4.2 Scanner + try-with-resources example.

TestReadFile5.java

package com.mkyong.core;

import java.io.File;
import java.io.IOException;
import java.util.Scanner;

public class TestReadFile5 {

    public static void main(String args[]) {

        String fileName = "c://lines.txt";

        try (Scanner scanner = new Scanner(new File(fileName))) {

            while (scanner.hasNext()){
                System.out.println(scanner.nextLine());
            }

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

    }

}

References

  1. Java 8 File.lines()
  2. Java 8 Stream
  3. Java BufferedReader
由JSRUN为你提供的Java在线运行、在线编译工具
        JSRUN提供的Java 在线运行,Java 在线运行工具,基于linux操作系统环境提供线上编译和线上运行,具有运行快速,运行结果与常用开发、生产环境保持一致的特点。
yout