From cb491e82b5ce3dcb7e3c41973a46cb7dcbaa9008 Mon Sep 17 00:00:00 2001 From: "github-classroom[bot]" <66690702+github-classroom[bot]@users.noreply.github.com> Date: Sun, 10 Dec 2023 19:07:21 +0000 Subject: Initial commit --- FileParser.java | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 FileParser.java (limited to 'FileParser.java') diff --git a/FileParser.java b/FileParser.java new file mode 100644 index 0000000..c8ede97 --- /dev/null +++ b/FileParser.java @@ -0,0 +1,56 @@ +import java.io.BufferedReader; +import java.io.FileReader; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.LinkedList; +import java.util.List; +import java.util.logging.Level; +import java.util.logging.Logger; + +public class FileParser { + + static List readLines(String fileName) { + List lines = new LinkedList<>(); + try { + BufferedReader reader = new BufferedReader(new FileReader(fileName)); + String line = reader.readLine(); + while (line != null) { + lines.add(line); + line = reader.readLine(); + } + reader.close(); + } catch (IOException ex) { + Logger.getLogger(WordCount.class + .getName()).log(Level.SEVERE, null, ex); + System.exit(0x1); + } + return lines; + } + + static List parse(String fileName) { + List lines = readLines(fileName); + List words = new LinkedList<>(); + lines.stream().forEach((line) -> { + words.addAll( + Arrays.asList( + line.toLowerCase() + .split("\\W|\\d|_"))); + }); + return words; + } + + static List> split(List text, int parts) { + List> inputs = new ArrayList<>(parts); + int size = text.size(); + int div = size / parts; + int rem = size % parts; + int cur = 0; + for (int i = 0; i < parts; i++) { + int step = (rem-- > 0) ? div + 1 : div; + inputs.add(text.subList(cur, cur + step)); + cur += step; + } + return inputs; + } +} -- cgit v1.2.3-70-g09d2