[解決済み] JavaでCLOBから文字列、文字列からCLOBを読み込むための最も効率的なソリューション?
2022-02-10 12:06:45
質問
大きなCLOB(32kB以上)があり、StringBuilderを使ってStringに読み替えたいのですが、どうすればいいですか?最も効率的にこれを行うにはどうしたらよいでしょうか?私の CLOB の長さは "int" より長く、 "long" の値が必要なので、StringBuilder の "int length" コンストラクタを使用することができません。
私はJavaのI/Oクラスについてそれほど精通していないので、いくつかのガイダンスを得たいと思います。
編集 - clobToString()は以下のコードで試しました。
private String clobToString(Clob data) {
StringBuilder sb = new StringBuilder();
try {
Reader reader = data.getCharacterStream();
BufferedReader br = new BufferedReader(reader);
String line;
while(null != (line = br.readLine())) {
sb.append(line);
}
br.close();
} catch (SQLException e) {
// handle this exception
} catch (IOException e) {
// handle this exception
}
return sb.toString();
}
解決方法は?
<ブロッククオート
のコンストラクタを使用することができません。
StringBuilder
というのは、私の CLOB の長さが
int
が必要であり
long
の値を指定します。
CLOB の長さが int に収まらない場合、CLOB データは String にも収まらない。このような大量の XML データを扱うには、ストリーミングアプローチを使用する必要があります。
CLOB の実際の長さが
Integer.MAX_VALUE
を使用すれば、強制的に
long
から
int
を置くことで
(int)
をその前に置く。
関連
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] なぜパスワードにはStringではなくchar[]が好まれるのですか?
-
[解決済み] Javaにおけるpublic、protected、package-private、privateの違いは何ですか?
-
[解決済み] JavaでStringをintに変換するにはどうしたらいいですか?
-
[解決済み] Javaで配列を宣言し、初期化する方法は?
-
[解決済み] Javaで文字列値からenum値を取得する方法
-
[解決済み] Java内部クラスと静的ネストされたクラス
-
[解決済み] Javaで文字列を分割する方法
-
[解決済み] Java の toString() における StringBuilder と文字列連結の比較
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Android Studio クラス org.codehaus.groovy.runtime.InvokerHelper を初期化できませんでした。
-
[解決済み】Doubleはdereferencedできない?
-
[解決済み】Android Studioでタスク :app:compileDebugJavaWithJavac の実行に失敗しました。
-
[解決済み】スレッド「main」での例外 java.lang.StringIndexOutOfBoundsException: 文字列のインデックスが範囲外です。0 [閉店]
-
[解決済み】Javaで無限大を実装する方法とは?
-
[解決済み】なぜjava.io.Fileにはcloseメソッドがないのでしょうか?
-
[解決済み】Hibernateの例外「failed to lazily initialize a collection of role」の解決方法
-
[解決済み】どういう意味か。Serializableクラスがstatic final serialVersionUIDフィールドを宣言していないとは?重複している] [重複している] [重複している] [重複している
-
[解決済み】Eclipseで「パッケージエクスプローラー」ビューが見つからない
-
[解決済み】CreateProcess error=2, The system cannot find file specified.