我知道在资源中打开文件的安全方法是:
InputStream is = this.getClass().getResourceAsStream("/path/in/jar/file.name");
Run Code Online (Sandbox Code Playgroud)
现在的问题是我的文件是Weka Wrapper包中的决策者的模型,而Decider类只有一个方法:
public void load(File file) throws Exception
Run Code Online (Sandbox Code Playgroud)
load获取文件并将其作为FileInputStream打开.你看到了解决方法吗?我真的很想将模型发送到资源中.我正在考虑创建一个临时文件,在临时文件中写入模型的内容然后将临时文件传递给Weka,但它是如此脏..其他选项?
我正在使用mongoDB存储一个querylog并得到一些关于它的统计数据.我存储在mongoDB中的对象包含查询文本,日期,用户,用户点击某些结果等等.
现在我正在尝试检索用户在某一天没有用java点击的所有查询.我的代码是这样的:
DBObject query = new BasicDBObject();
BasicDBObject keys = new BasicDBObject();
keys.put("Query", 1);
query.put("Date", new BasicDBObject("$gte", beginning.getTime()).append("$lte", end.getTime()));
query.put("IsClick", false);
...
DBCursor cur = mongoCollection.find(query, keys).batchSize(5000);
Run Code Online (Sandbox Code Playgroud)
查询的输出包含我需要迭代的大约20k条记录.该问题是,它需要几分钟:(我不认为这是正常的服务器日志中我看到.:
Wed Nov 16 16:28:40 query db.QueryLogRecordImpl ntoreturn:5000 reslen:252403 nscanned:59260 { Date: { $gte: 1283292000000, $lte: 1283378399999 }, IsClick: false } nreturned:5000 2055ms
Wed Nov 16 16:28:40 getmore db.QueryLogRecordImpl cid:4312057226672898459 ntoreturn:5000 query: { Date: { $gte: 1283292000000, $lte: 1283378399999 }, IsClick: false } bytes:232421 nreturned:5000 170ms
Wed Nov 16 16:30:27 getmore …Run Code Online (Sandbox Code Playgroud)