問題タブ [stringbuffer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
3704 参照

java - javaの固定長StringBuffer

Java で固定された stringbuffer の長さを保持するためのベスト プラクティスは何ですか? つまり、固定値が 10 で stringbuffer が ABCDEFGHIJ を保持している場合、K を追加すると A がクリアされ、結果の値は BCDEFGHIJK になります。StringBuffer の reverse() と setLenght() メソッドの組み合わせを使用することを考えていますが、わかりません100 K の長さでの性能はどうなりますか。

0 投票する
0 に答える
284 参照

android - Web から 917KB のファイルを読み取る Android でメモリ エラーが発生しますか?

あまりにも多くの文字列が作成されているという事実であると私は疑っています。readline が可能かどうかを確認し、lineread を stringbuilder に直接挿入するにはどうすればよいですか。これを行うには他にどのような方法がありますか?ファイルは1MB弱

ログは次のとおりです。

09-27 12:56:07.740: エラー/エラー: LDataListView の問題: refreshError 09-27 12:56:07.740: エラー/エラー: ------------------- ------------------------ 09-27 12:56:13.339: エラー/Dhcpcd(10598): xid 0x5a93b3de で DHCP_REQUEST を送信、次は 3.58 秒09-27 12:56:13.549: エラー/dalvikvm-heap(12862): 6064234 バイトの割り当てでメモリが不足しています。09-27 12:56:13.549: エラー/dalvikvm(12862): メモリ不足: ヒープ サイズ = 15687KB、割り当て済み = 6704KB、ビットマップ サイズ = 8617KB 09-27 12:56:13.559: エラー/AndroidRuntime(12862): FATAL例外: メイン 09-27 12:56:13.559: エラー/AndroidRuntime(12862): java.lang.OutOfMemoryError 09-27 12:56:13.559: エラー/AndroidRuntime(12862): java.lang.AbstractStringBuilder.enlargeBuffer(AbstractStringBuilder で) .java:97) 09-27 12:56:13.559: エラー/AndroidRuntime(12862): java.lang.AbstractStringBuilder.append0(AbstractStringBuilder. エラー/AndroidRuntime (12862): com.android.internal.os.ZygoteInit.main (ZygoteInit.java:626) 09-27 12:56:13.559: エラー/AndroidRuntime (12862): dalvik.system.NativeStart.main で(ネイティブ メソッド) 09-27 12:56:14.819: ERROR/ActivityManager(101): トップ アプリの設定に失敗しました! 09-27 12:56:48.499: エラー/BluetoothHeadsetService(201): java.util.NoSuchElementException

編集:::

より詳しい情報:

これは JSON 文字列です。基本的に、アイテムの配列を持つ単一のオブジェクトです。フィード全体にエンコードされた画像が散らばっているため、必要以上に大きくなっています (残念ながら、これは私のフィードではありません)。iphone はそれを読み取っているように見えますが、私の HTC 電話は時々読み取りますが、通常は sb 追加行でメモリ例外に遭遇します。

私はまた、それをまっすぐ読んでみました:

しかし、そこにも同じ問題があります。

0 投票する
2 に答える
6361 参照

android - Android での String、StringBuffer、および StringBuilder のメモリ不足例外

1.8MB の画像をバイトに変換してから暗号化し、最終的に文字列に変換するときにメモリ不足の例外に直面しています (ログに出力される長さは 1652328 です)。次に、この文字列を XML 形式に追加して投稿します。ここで、実際の問題が発生します。このpictureStringにいくつかのタグを追加している間StringBuffer、またはStringBuilder文字列に追加するか、メモリ不足の例外が発生しています。この問題を解決するにはどうすればよいですか?

小さな画像の場合、この問題は再現されません。

以下のコードは、パスの画像を に変換しpathますString

上記byteStringは、次のように xml post に追加されます。

更新しました

上記の追加では、encodedbyteStreamは cypher AES を使用して暗号化されてから に追加されStringBuilderます。

0 投票する
2 に答える
686 参照

java - 複数行のJTextAreaをtxtファイルに書き込む

そのためJTextArea、ユーザー入力用の があり、ボタンをクリックするとテキスト ファイルに書き込まれます。両方がsetLineWrapあり、 にsetWrapStyleWord設定されtrueていJTextAreaます。

テキスト ボックスに表示される正確な方法でテキスト ファイルに書き込みたいと思います。

replace("\n", System.getProperty("line.separator"))機能する内容をString保持することを試みましたがJTextArea、ユーザーが入力を入力するときに実際にリターンキーを押した場合にのみ、ユーザーが入力を続けて行末に到達した場合にのみ、その下の行は機能しreplaceません。

また、 を使用してみStringBufferました。行に収まる文字数を計算し、各行の最後に新しい行を実行したので、最初の行では位置、2 行目、3行目などfor loop insertingに追加します。 . しかし、一部の文字は他の文字よりも小さいため、すべての状況で機能するとは限らないことにすぐに気付きました。90180270jp

私がやりたいのは、行末を計算する方法を見つけてinsert、新しい行の場所を知ることですが、他の提案も受け付けています。ありがとう。私のコードの一部を確認するのに役立つと思われる場合は、質問してください。

更新 これを行うためのコードを実装する代わりに、私はこのプログラムを使用する唯一の人の 1 人になる人と話をしました。彼は通常のメモ帳形式で問題ありませんでした。メモ帳形式の設定により、行全体を読むためにサイドスクロールを使用する必要がなくなります。ご入力いただきありがとうございます

0 投票する
3 に答える
24658 参照

java - Stringbuffer の改行の開始インデックスを取得します

StringBuffer をループするときに、新しい行の開始位置を取得する必要があります。文字列バッファに次のドキュメントがあるとします

"test"、"Test"、"Testing" の後に新しい行があります。

次のようなものが必要です:

「\n」は文字ではないため、機能しないことはわかっています。何か案は?:)

ありがとう

0 投票する
1 に答える
747 参照

java - ドロップダウンに表示される値の順序が変更されます

数値とアルファベットの両方でソートされた値の配列リストがあります。たとえば。リストには、1、2、5、10、100、A012B、AB、XY、Zなどの値(同じ順序)があります 。

sbf.toString()私のメソッドは(メソッド宣言に従って)文字列タイプしか返すことができないため、forループを使用してこのリストをStringBufferに追加し、Stringbufferオブジェクトを文字列として(経由で)返します。戻り型を変更できません(フレームワークは文字列型のみを受け入れるため、文字列である必要があります)。

返される値はドロップダウンに表示されます。しかし、値の順序が変更され、1、10、100、2、5、A012B、AB、XY、Zのように表示されます。値が配列リストに存在するのと同じ方法で表示されるようにしたい。手伝ってくれますか?

0 投票する
2 に答える
50778 参照

java - Java で StringBuffer をバイト配列に変換する

Java で StringBuffer をバイト配列に変換するにはどうすればよいですか?

0 投票する
14 に答える
24177 参照

java - StringBuffer の容量は?

このコードを実行すると:

出力が得られます:

長さ:17、容量:33

明らかに長さは文字列の文字数に関連していますが、容量がどのくらいかわかりませんか? スペースを再割り当てする前に StringBuffer が保持できる文字数ですか?

0 投票する
4 に答える
1509 参照

java - Array List Output

I am currently using an Iterator to output an array list but I want to output it all on one line. I think my best bet would be to use a stringbuffer but does anyone have a more effective method?

My current method of output is this:

Went with this Not efficient at all but its all I understand at the moment: