protected Map<String, String> getNameNoList(String path) {
        if (path == null || path.length() < 1) {
            System.out.println("The path to the name-number list file cannot be null.");
            return null;
        }

        Map<String, String> list = new LinkedHashMap<String, String>();


        File f = new File(path);
        if (f.exists() == false) {
            System.out.println("The list file does not exists.");
            return null;
        }

        int fail_cnt = 0;
        int succ_cnt = 0;
        try {
            FileInputStream fis = new FileInputStream(f);
            InputStreamReader isr = new InputStreamReader(fis, "UTF-8");

            BufferedReader br = new BufferedReader(isr);
            String line = null;

            while ((line = br.readLine()) != null) {
                if (processLine(line, list) == false) {
                    fail_cnt += 1;
                    continue;
                } else {
                    succ_cnt += 1;
                }
            }

            System.out.print("Get " + succ_cnt + " lines successfully, and " + fail_cnt + " lines failed.\n");

            br.close();

            return list;

        } catch (FileNotFoundException e) {
            e.printStackTrace();
            return null;
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
            return null;
        } catch (IOException e) {
            e.printStackTrace();
            return null;
        }
    }