Files
Tutoring-APCompSci/Sorting/RandomWordFileReader.java
2020-07-03 17:04:43 -05:00

33 lines
1.0 KiB
Java

package Sorting;
import java.util.ArrayList;
import java.nio.file.Files;
import java.nio.file.Path;
import java.io.BufferedReader;
import java.io.IOException;
import java.util.Arrays;
public class RandomWordFileReader {
private ArrayList<String> words = new ArrayList<String>();
public RandomWordFileReader(String filename){
try(BufferedReader reader = Files.newBufferedReader(Path.of(filename));){
//This should use flatMap to make a string array from the line, and then turn the elements of that array into a stream, which goes to forEach
reader.lines().flatMap(line -> Arrays.stream(line.split("[\\W\\s\\n_ ]+"))).forEach(word -> words.add(word.toLowerCase()));
}catch (IOException ex){
System.err.println(ex);
}
for (int i = 0; i < words.size(); i++) {
if (words.get(i).matches("")) {
words.remove(i);
i--;
}
}
}
public ArrayList<String> getWords(){
return words;
}
}