0
매우 큰 .bson
파일이 있습니다. 자바를 사용하여 .bson 파일의 내용보기
- 내가 그 파일의 내용을 볼 수있는 방법
? 내가 그 내용을 볼 수있는 방법
을 (사실 나는 그 파일의 구조를보고 싶어) (나는 "bsondump" 함께 할 수있는 알고 있지만,이 명령은 큰 데이터베이스 SPECIALY, 느린) 자바를 사용하여 파일을?
매우 큰 .bson
파일이 있습니다. 자바를 사용하여 .bson 파일의 내용보기
? 내가 그 내용을 볼 수있는 방법
을 (사실 나는 그 파일의 구조를보고 싶어) (나는 "bsondump" 함께 할 수있는 알고 있지만,이 명령은 큰 데이터베이스 SPECIALY, 느린) 자바를 사용하여 파일을?
쉽게/읽기 BSONDecoder
예와 같은 BasicBSONDecoder
또는 DefaultBSONDecoder
을 사용하여 Java에 bson 파일을 구문 분석 할 수 있습니다. 이 클래스들은 mongo-java-driver에 포함되어 있습니다.
여기에 Java 구현의 간단한 예가 bsondump
입니다.
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import org.bson.BSONDecoder;
import org.bson.BSONObject;
import org.bson.BasicBSONDecoder;
public class BsonDump {
public void bsonDump(String filename) throws FileNotFoundException {
File file = new File(filename);
InputStream inputStream = new BufferedInputStream(new FileInputStream(file));
BSONDecoder decoder = new BasicBSONDecoder();
int count = 0;
try {
while (inputStream.available() > 0) {
BSONObject obj = decoder.readObject(inputStream);
if(obj == null){
break;
}
System.out.println(obj);
count++;
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
inputStream.close();
} catch (IOException e) {
}
}
System.err.println(String.format("%s objects read", count));
}
public static void main(String args[]) throws Exception {
if (args.length < 1) {
//TODO usage
throw new IllegalArgumentException("Expected <bson filename> argument");
}
String filename = args[0];
BsonDump bsonDump = new BsonDump();
bsonDump.bsonDump(filename);
}
}
추가 정보를 제공해 주시면 감사하겠습니다. 또한 완전한 코드를 작성하면 감사합니다. – Masoud
그 외에도 많은 것들이 없습니다. main() 메서드로 전체 소스를 추가하여 업데이트했습니다. – helmy
좋은 대답 참 +1 +1 – Disposer