java与mongodb之间的数据转换问题
如何java语言用bitset的数据无损地以二进制的形式存放mongodb中
又如何获取mongodb的二进制数据,转换到程序中的bitset来用?希望大神们可以给个代码例子让我参考一下。
以下是我之前用的方法,好像存储前把bitset转换成byte[]的时候就错了 因为我自己写了个输出二进制的函数把byte[0]输出就不是我之前设bitset的二进制数据0111
public static void main(String[] args) throws Exception {
//二进制存储测试
DBCollection coll_index = CreateWordTable.getDBCollection("index");
DBObject dbo = new BasicDBObject();
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
ObjectOutputStream out = new ObjectOutputStream(outputStream);
BitSet docid=new BitSet();
docid.set(0);docid.set(1);docid.set(2);//二进制 0111
out.writeObject(docid);
dbo.put("key", "Hello");
dbo.put("doc_id_list", outputStream.toByteArray());
out.close();
outputStream.close();
coll_index.insert(dbo);
// 二进制获取测试
// DBCollection coll_index = CreateWordTable.getDBCollection("index");
// DBObject dbo = new BasicDBObject();
// BasicDBObject query = new BasicDBObject();
// query.put("key", "Hello");
// DBObject single_index = coll_index.findOne(query);
//
// List<DBObject> list = coll_index.find(new BasicDBObject("key", "Hello")).toArray();
// if(list != null&& list.size() > 0){
// byte[] b = (byte[]) list.get(0).get("doc_id_list");
//BitSet temp=new BitSet();
//Object temp=single_index.get("doc_id_list");
//b.toString();
// byte[] b=outputStream.toByteArray();
// printBinaryByte(b[0]);
// System.out.println(out.toString());
}