RAMにリロードせずにディスクに既にシリアル化されているjavaのArrayリストに要素を追加できますか?私は、XMLファイルからデータをmysqlデータベースにロードするために、データを保存するために必要です。 XMLファイルには数GBのデータがあり、問題はデータを処理するためにXMLファイルからすべてのデータを保存する必要があることです。ArrayListをJavaのRAMにロードせずにシリアライズされたArrayListに要素を追加する
-1
A
答えて
0
ArrayList
またはその他のデータ構造体は、メモリ内のデータ構造です。したがって、このデータ構造に入れたいものは何でも、メモリ(RAM)にロードする必要があります。
メモリサイズ以上のデータをロードする方法を知りたい場合は、バッチでロードすることを検討してください。例えば最初のn
のエントリをメモリ制約に合わせてロードしてから処理します。作業が終わったら、それらを破棄して次のバッチをロードするなどです。
+0
OK私はこのように行かなければならなかったが、私は誰かが可能性を知っていることを望んだそれは別のやり方で – arget888
0
私はあなたのXMLファイルが既にGBsであると思うので、より良いアプローチはチャンクのXMLファイルを読み込んで、チャンクのレコードをデータベースに保存することです。 EOFに達するまでそれを続けてください。
String encoding = "UTF-8";
int maxlines = 100;
BufferedReader reader = null;
BufferedWriter writer = null;
try {
reader = new BufferedReader(new InputStreamReader(new FileInputStream("/bigfile.txt"), encoding));
int count = 0;
for (String line; (line = reader.readLine()) != null;) {
if (count++ % maxlines == 0) {
close(writer);
writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("/smallfile" + (count/maxlines) + ".txt"), encoding));
}
writer.write(line);
writer.newLine();
}
} finally {
close(writer);
close(reader);
}
関連する問題
- 1. ArrayListに要素を追加する
- 2. ArrayListの要素をArrayListに追加する
- 3. ArraylistにArraylistの四角形要素を追加する
- 4. ArrayListに要素を追加しない
- 5. Java - arraylistにオブジェクトを追加し、arraylistに別の要素を追加すると、最初の要素が上書きされます。
- 6. エラーを発生させずにjavaでArrayLIstをシリアライズするには?
- 7. ArrayListにJavaを追加するJava
- 8. JavaのArrayListの要素に追加しますか?
- 9. ArrayListにJavaで要素
- 10. ArrayListをArrayListに追加する
- 11. テキストファイルのスキャナーがArrayListに要素を追加できません
- 12. シリアライズのArrayListのJava
- 13. javaにarraylistを追加する
- 14. Javaでarraylistに特定の範囲のリスト要素を追加するには?
- 15. Arraylistは最後に追加された要素のみを出力します
- 16. arraylistをjavaの2d arraylistに追加します
- 17. 要素をarraylistに追加できません
- 18. ArrayListの別のArrayListと比較される1つの追加要素を持つArrayListの作成
- 19. このArrayListに要素を追加する方法は?
- 20. デフォルトのarraylistに要素を追加する
- 21. 文字列配列要素をJavaのarraylistに追加する方法
- 22. Java ArrayListとLinkedList:リストの先頭に要素を追加/削除する
- 23. Java ArrayListの要素をJavaでファイルに移動するには
- 24. のJavaのArrayList:同じArrayListに親クラスとサブクラスの追加、ソリューション
- 25. Groovyの新しいArrayListに要素を追加できませんでした
- 26. arraylistのarraylistに要素を追加する方法はありますか?あなたはハッシュマップにArrayListに似た何かを探しているよう
- 27. arrayList javaの末尾に追加
- 28. ArrayListのすべての要素が最後に追加されますか?
- 29. ArrayListに要素を追加し、その要素がArrayListに同じ値を持つ場合は追加できません。
- 30. ArrayListに追加する
ArrayListは、標準のJavaシリアル化を使用してシリアル化されていますか?代わりのシリアル化?あなた自身のシリアル化? XMLファイルを元のJavaオブジェクトとしてロードするか、標準のXMLツールを使用してXMLファイルを処理するだけですか? – RealSkeptic
標準Java serializazionでシリアル化したいです。私は行にXMLファイルを処理しています。ラムにロードするのは大変ですから。私はすべてのタグを分析し、配列に格納する、私はディスク上のオブジェクトにこれらの配列を直列化したいRAMのサイズがいくつかの値を超える場合 – arget888