将json写入本地文件系统

将json写入本地文件系统,json,mongodb,Json,Mongodb,在Mongodb中,我有一个包含json文档的测试集合。我能够检索json并将其记录到IDE控制台。现在我想将这个json存储到本地文件系统上的一个文件(即test.json)中。我试图创建一个这样的代码,但是它不起作用。第4行出现了一些问题,因为文件无法写入光标 如何将对象从mongodb获取到文件系统,是否有任何示例代码与我共享 DBCursor cursor = collection.find(); FileWriter file = new FileWriter("D:\\test1.

在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");
缺少此项(在<代码>新建<代码>之后和<代码>写入<代码>之前):

像这样试试

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();
        }
    }
}

文件关闭前是否刷新…。file.flush();file.close()文件
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();
        }
    }
}