public void buildTrieTree(File f) {
		BufferedReader reader = null;
		try {
			reader = new BufferedReader(new InputStreamReader(new FileInputStream(f), "utf-8"));
		} catch (UnsupportedEncodingException e1) {
			e1.printStackTrace();
		} catch (FileNotFoundException e1) {
			e1.printStackTrace();
		}
		String line = null;
		long t0 = System.currentTimeMillis();
		int lineCount = 0;
		try {
			while ((line = reader.readLine()) != null) {
				if (++lineCount % 100000 == 0)
					System.out.println(String.format("[TrieTreeHandle] loading... \t%d lines, \t%d ms",//
							lineCount, System.currentTimeMillis() - t0));
				
				String[] split = line.split(dividChar+"");
				if(split.length == 1)
					addStrng(line, 0);
				else {
					int lowerBound = Integer.parseInt(split[1]);
					int upperBound = Integer.parseInt(split[2]);
					addStrng(split[0], lowerBound);
					if(lowerBound != upperBound) {
						addStrng(split[0], upperBound);
					} 
				}
			}
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			try {
				reader.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
		System.out.println(String.format("[TrieTreeHandle] building finished in %d ms", System.currentTimeMillis() - t0));
	}