33 lines
1.0 KiB
Java
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;
|
|
}
|
|
|
|
} |