在Mongodb中,我有一个包含json文档的测试集合。我能够检索json并将其记录到我的IDE控制台。现在,我想将这个json存储到本地文件系统上的一个文件(即test.json)中。我试图创建这样的代码,但是它不起作用。第4行出现了一些问题,因为文件无法写入游标。
如何将对象从mongodb获取到文件系统,是否有任何示例代码可与我共享。
DBCursor cursor = collection.find();
FileWriter file = new FileWriter("D:\\test1.json");
while( cursor.hasNext() ) {
file.write(cursor.toJSONString(); // this is line 4
}
file.close();
System.out.println("JSON created successfully");发布于 2014-02-14 12:31:27
试着像这样
import java.io.File;
import java.io.FileWriter;
import java.net.UnknownHostException;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import com.mongodb.DBObject;
import com.mongodb.Mongo;
import com.mongodb.MongoException;
import com.mongodb.util.JSON;
public class App {
public static void main(String[] args) throws Exception{
try {
Mongo mongo = new Mongo("localhost", 27017);
DB db = mongo.getDB("test");
DBCollection collection = db.getCollection("dummyColl");
// convert JSON to DBObject directly
DBObject dbObject = (DBObject) JSON
.parse("{'name':'mkyong', 'age':30}");
collection.insert(dbObject);
DBCursor cursorDoc = collection.find();
while (cursorDoc.hasNext()) {
System.out.println(cursorDoc.next());
}
String st=JSON.serialize(cursorDoc);
File file=new File("test.json");
FileWriter fileWriter=new FileWriter(file);
fileWriter.write(st);
fileWriter.close();
System.out.println("Done");
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (MongoException e) {
e.printStackTrace();
}
}
}发布于 2014-02-14 12:09:45
这是缺少的(在new之后和write之前):
file.open(); https://stackoverflow.com/questions/21778111
复制相似问题