📄 tree.java
字号:
import java.io.*;
import java.util.*;
import javax.swing.tree.DefaultMutableTreeNode;
public class Tree {
final String CAT_FILENAME = ".txt";
final String KEYWORDS_FILENAME = "_key.txt";
final String PHRASE_FILENAME = "_phr.txt";
private HashMap<String, DefaultMutableTreeNode> map = new HashMap<String, DefaultMutableTreeNode>();
private HashMap<Integer, String> index = new HashMap<Integer, String>();
private HashMap<Integer, String> phrase = new HashMap<Integer, String>();
private DefaultMutableTreeNode root = new DefaultMutableTreeNode();
private String category;
Tree(String s) {
category = s;
}
public void cat() {
node rootNode = new node("Top", 1);
root.setUserObject(rootNode);
map.put("Top", root);
index.put(1, "Top");
try {
BufferedReader br = new BufferedReader(new FileReader(new File(
category + CAT_FILENAME)));
while (br.ready()) {
Scanner sc = new Scanner(br.readLine());
int num = sc.nextInt();
String dir = sc.next();
node newNode = new node(dir, num);
DefaultMutableTreeNode newTreeNode = new DefaultMutableTreeNode();
newTreeNode.setUserObject(newNode);
String parent = newNode.getParent();
DefaultMutableTreeNode parentNode = map.get(parent);
parentNode.add(newTreeNode);
newTreeNode.setParent(parentNode);
map.put(dir, newTreeNode);
index.put(num, dir);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void key() {
try {
BufferedReader br = new BufferedReader(new FileReader(new File(
category + KEYWORDS_FILENAME)));
while (br.ready()) {
Scanner sc = new Scanner(br.readLine());
int num = sc.nextInt();
String name = index.get(num);
DefaultMutableTreeNode treeNode = map.get(name);
node anode = (node) treeNode.getUserObject();
int n = sc.nextInt();
sc = new Scanner(br.readLine());
int[] k = new int[n];
for (int i = 0; i < n; i++) {
k[i] = sc.nextInt();
sc.nextDouble();
}
anode.setKeywords(k);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void phrase() {
try {
BufferedReader br = new BufferedReader(new FileReader(new File(
category + PHRASE_FILENAME)));
while (br.ready()) {
String s = br.readLine();
int key = Integer.valueOf(s.substring(0, s.indexOf(" ")));
String value = s.substring(s.indexOf(" ") + 1, s.length());
phrase.put(key, value);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public String getPhrase(int i) {
return phrase.get(i);
}
public DefaultMutableTreeNode getRoot() {
return root;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -