Домой Учебники по Java и J2EE Как читать файл построчно с помощью Java 8 Stream — Files.lines ()...

Как читать файл построчно с помощью Java 8 Stream — Files.lines () и Files.newBufferedReader () Utils

1095
0

Java 9 уже в полном разгаре и готова к завершению к концу мая. Хотя Java 8 была выпущена пару лет назад, я уверен, что очень немногие компании перешли на Java 8 JDK для своей производственной среды. Мало кто все еще использует JDK7 и JDK6.

Java 8 по умолчанию поставляется с множеством интеллектуальных функций, которые, я думаю, мы почти не рассматривали. Некоторое время назад я написал статью об операциях API Java 8 Stream и лямбда-выражении .

В этом уроке мы рассмотрим шаги и то, как мы можем использовать пакет Java 8 Stream для построчного чтения содержимого файла. Если вы хотите перейти traditional approach (до Java 8), затем следуйте этому руководству, которое использует FileReader а также BufferReader Utils.

Кроме того, если у вас есть вопросы ниже, то вы находитесь в правильном месте.

  • Java 8 Stream of Lines — чтение файла построчно
  • Java 8 API Stream на примере
  • Как читать из файлов с помощью Files.lines (…) и forEach
  • Java 8: чтение файла в строку
  • Java 8 записи потока в файл

Давайте начнем:

Шаг 1

Создать класс CrunchifyJava8StreamReadFile.java

Шаг 2

Мы собираемся создать утилиту чтения строки, используя два подхода ниже. Создайте разные методы для каждой утилиты.

  1. lines() а также Stream Подход
  2. newBufferedReader а также Stream Подход

Шаг 3

collect выполняет mutable reduction operation на элементах этого потока, используя Collector , Вот подробности. Я бы предложил тщательно пройти через это.

Шаг 4

Мы будем читать файл crunchify-java8-stream.txt с содержанием ниже. Скопируйте содержимое и поместите его на диск C или в папку « Загрузки» Mac .

crunchify-java8-stream.txt

1
2
3
4
5
Добро пожаловать в Crunchify 's JDK 8 Поток API учебник
Более чем 500 Ява и Spring MVC учебники
Компания : Crunchify
Адрес : НьюЙорк
Контакт : App Shah

Вот полная Java-программа:

CrunchifyJava8StreamReadFile.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
пакет ком . crunchify. учебные пособия ;
импорт Java . Ио. BufferedReader ;
импорт Java . Ио. IOException ;
импорт Java . Nio . файл. Файлы ;
импорт Java . Nio . файл. Дорожки ;
импорт Java . Util. ArrayList ;
импорт Java . Util. Список ;
импорт Java . Util. поток. Коллекционеры ;
импорт Java . Util. поток. Стрим ;
/ **
* @author Crunchify.com
*
* /
общественности учебный класс CrunchifyJava8StreamReadFile {
общественности статический недействительным главная ( Строка args [ ] ) {
строка crunchifyFile знак равно /Users//Downloads/crunchify-java8-stream.txt ;
// lines () и потоковый подход
CrunchifyReadFile1 ( crunchifyFile ) ;
// newBufferedReader и потоковый подход
CrunchifyReadFile2 ( crunchifyFile ) ;
}
// Чтение файла с использованием lines () и Stream Approach
частный статический недействительным CrunchifyReadFile1 ( String crunchifyFile ) {
Поток < String > crunchifyStream знак равно ноль ;
пытаться {
// Чтение всех строк из файла в виде потока. Байты из файла декодируются в символы с использованием кодировки UTF-8
crunchifyStream знак равно Файлы. линии ( Paths . get ( crunchifyFile ) ) ;
} ловить ( IOException е ) {
эл . printStackTrace ( ) ;
}
log ( ============= Результат из строк () и Stream Approach ============= ) ;
crunchifyStream . Foreach (система из:: Println.);
}
// Чтение файла с использованием newBufferedReader и Stream Approach
частный статический недействительным CrunchifyReadFile2 ( String crunchifyFile ) {
Список < String > crunchifyList знак равно новый ArrayList < > ( ) ;
BufferedReader crunchifyBufferReader знак равно ноль ;
пытаться {
// newBufferedReader открывает файл для чтения
crunchifyBufferReader знак равно Файлы. newBufferedReader ( Paths . get ( crunchifyFile ) ) ;
} ловить ( IOException е ) {
эл . printStackTrace ( ) ;
}
// toList: возвращает Collector, который накапливает входные элементы в новый список
// lines (): возвращает поток, элементами которого являются строки, считанные из этого BufferedReader
crunchifyList знак равно crunchifyBufferReader . линии ( ) . собирать ( Collectors . toList ( ) ) ;
log ( / n ============= Результат от newBufferedReader и Stream Approach ============= ) ;
// forEach: выполняет данное действие для каждого элемента Iterable, пока все элементы не будут обработаны или
// действие генерирует исключение.
crunchifyList . Foreach (система из:: Println.);
}
частный статический недействительным log ( Строка строка ) {
Система. вне. println ( строка ) ;
}
}

Результат / выход:

Как читать файл построчно с помощью Java 8 Stream — Files.lines () и Files.newBufferedReader () Utils

0.00 (0%) 0 votes

ЧИТАТЬ ТАКЖЕ:  В Java Как найти повторяющиеся элементы из списка?

ОСТАВЬТЕ ОТВЕТ

Пожалуйста, введите ваш комментарий!
пожалуйста, введите ваше имя здесь