我正在尝试从具有/train
形式的基础子结构的目录中读取许多文件,其中分别有“/atheism
,/politics
,{{1 }&每个/science
包含许多文件。我
我需要阅读所有文件中的所有单词以创建一个全局“词典”,每个文件中的每个单词都代表一次(此时我并不十分担心词干或任何那些花哨的东西! )。
事实上,我正在使用这个复杂的迭代结构,每当我试图以一种清醒的方式思考我必须做的事情时,就会让我感到痛苦。我怎么能简化和制服这个笨重的野兽!/sports
答案 0 :(得分:1)
我很确定你需要/home
之后的用户文件夹。此外,您可以使用File(String, String)
构造函数和for-each
loop。把它放在一起,我想你想要像
static String PATH = "Workbench/SUTD/ISTD_50.570/assignments/data/train";
// the global list of all words across all articles
static Set<String> GLOBO_DICT = new HashSet<String>();
public static void main(String[] args) throws IOException {
// each of the diferent categories
String[] categories = { "/atheism", "/politics", "/science", "/sports" };
File trainpath = new File(System.getProperty("user.home"), PATH);
// cycle through all categories once to populate the global dict
for (String cycle : categories) {
File directory = new File(trainpath, cycle);
iterateDirectory(directory);
}
}