请问如下代码的main中为何永远只执行第一行

public class UseIBaseTermDao implements IBaseTermDao {

    public static void main(String[] args) throws IOException {
        UseIBaseTermDao a = new UseIBaseTermDao();

        Iterator<Word> it = a.getAllWords().iterator();
        while (it.hasNext()) {
            System.out.println(it.next());
        }
    }

    @Override
    public Set<Word> getAllWords() throws IOException {
        Set<Word> words = new TreeSet<>();

        File w = new File(WORD_FILE);
        if (w.isFile() && w.exists()) {
            InputStreamReader read = new InputStreamReader(new FileInputStream(WORD_FILE));
            BufferedReader bufferedReader = new BufferedReader(read);
            String line = null;
            long row = 0;
            while ((line = bufferedReader.readLine()) != null) {

                String[] cnen = line.split(" ");
                String[] cn = cnen[1].split(":");

                Word word = new Word(cnen[0], cn);
                words.add(word);
                row++;
                // System.out.println(line);
            }
            read.close();
        } else {
            System.out.println("找不到指定的文件");
        }

        return words;
    }

 

看看 a.getAllWords()返回的是不是null值。

调试一下,看一下是不是读取到文件了,但是读取到的内容是空的

你是不是每一行内容都是一样的,然后用了set集合