[Java] NullPointerEx w konstruktorze TreeSet

Witam. Czy wie ktoś gdzie popełniłem błąd w tym kodzie?

Set<String> words = new TreeSet<String>(
				Arrays.asList(
					new File("UniqueWords.txt").list()
						));

Chcę dodać do kontenera Set wszystkie słowa znajdujące się w pliku UniqueWords, jednak przy linijce 

Arrays.asList(

wywala błąd NullPointerException. 

W tym, że nie dołączyłeś dokumentacji do IDE, tak, aby wiedzieć co robi dana metoda.

hmm szczerze to nie patrzyłem na opis tylko na typ zwracany a to był jedyny string array który widziałem. a jest jakiś sposób żeby zrobić to tak , jak wyżej? w jakiś elegancki sposób?

Nie w Javie. Jak dla mnie pobrać słowa najszybciej będzie Scanner-em.

No niestety przez wyjątki zbyt elegancko nie jest:

BufferedReader reader = null;
String line;
Set<String> words = new TreeSet<>();
try {
    reader = new BufferedReader(new FileReader("abc.txt"));
    while (null != (line = reader.readLine())) {
        String[] splitted = line.split(" ");
        words.addAll(Arrays.asList(splitted));
    }
} catch (IOException ex) {
    // error
} finally {
    if (null != reader) {
        try {
            reader.close();
        } catch (IOException ex) {
            // error
        }
    }
}

Więc chyba wrzucę to jako osobny plik do obsługi plików i w kodzie właściwym wywołam tylko metodę. Dziękuję!

Wystarczy zwykła metoda.

public static void main(String[] args) {
    try {
        Set<String> words = readUniqueWords(new File("abc.txt"));
    } catch (IOException ex) {
        // error
    }
}

private static Set<String> readUniqueWords(File file) throws IOException {
    String line;
    Set<String> words = new TreeSet<>();
    try (BufferedReader reader = new BufferedReader(new FileReader(file));) {
        while (null != (line = reader.readLine())) {
            String[] splitted = line.split(" ");
            words.addAll(Arrays.asList(splitted));
        }
    }

    return words;
}