【发布时间】:2016-10-06 10:29:33
【问题描述】:
我正在尝试运行JGibbLDA 代码,当我使用java -mx512M -cp bin:lib/args4j-2.0.6.jar jgibblda.LDA -est -alpha 0.5 -beta 0.1 -ntopics 100 -niters 1000 -savestep 100 -twords 20 -dfile /path/to/data/data.txt 运行代码时,我收到一条错误消息:
Error while writing word map /wordmap.txt (Permission denied)
java.io.FileNotFoundException: /wordmap.txt (Permission denied),
指的是下面的代码:
public boolean writeWordMap(String wordMapFile){
try{
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(
new FileOutputStream(wordMapFile), "UTF-8"));
//write number of words
writer.write(word2id.size() + "\n");
//write word to id
Iterator<String> it = word2id.keySet().iterator();
while (it.hasNext()){
String key = it.next();
Integer value = word2id.get(key);
writer.write(key + " " + value + "\n");
}
writer.close();
return true;
}
catch (Exception e){
System.out.println("Error while writing word map " + e.getMessage());
e.printStackTrace();
return false;
}
}
}
我不熟悉 Java,但我需要运行这段代码。你能告诉我代码有什么问题吗?提前谢谢!
【问题讨论】:
-
看来
wordmap.txt的文件权限只需要改一下。 -
据我所知,代码没有问题。问题是您使用的帐户没有写入权限,似乎是根目录 (
/)。 -
将文件写入文件系统根目录时出现异常。引用的代码用于读取文件,不匹配异常。