问题标签 [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 中保持字符串缓冲区长度固定的最佳做法是什么?也就是说,如果固定值为 10 并且 stringbuffer 包含 ABCDEFGHIJ,当我们附加 K 时,这将导致 A 被清除并且结果值将是 BCDEFGHIJK。我正在考虑使用 StringBuffer 的 reverse() 和 setLenght() 方法组合但不知道100 K 长度的性能如何。

0 投票
0 回答
284 浏览

android - Android 从网络读取 917KB 文件会导致内存错误?

我怀疑这是创建了太多字符串的事实。我如何查看是否可以使用 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):致命例外:主要 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:错误/ActivityManager(101):设置顶部应用程序更改失败!09-27 12:56:48.499: 错误/BluetoothHeadsetService(201): java.util.NoSuchElementException

编辑:::

更多信息:

它是一个 JSON 字符串。基本上是带有一组项目的单个对象。整个提要中到处都是编码图像,这使得它比应有的大得多(不幸的是,这不是我的提要)。iphone 似乎可以读取它,但我的 HTC 手机有时会读取它,但通常会在 sb 附加行上遇到内存异常。

我也尝试过直接阅读它,例如:

但也有同样的问题。

0 投票
2 回答
106 浏览

java - 存储在字符串中

可能重复:
在 Java 中用分隔符连接值列表的最优雅方法是什么?

我在属性文件中以 3 个不同的行列出了 3 个不同的单词。QWERT 警察事务

我想读取该属性文件并将这 3 个单词存储在字符串中,而不是存储在由空格分隔的 aarylist 中。输出应如下所示 String str = { QWERT POLICE MATTER}

现在我使用了以下代码并在单词之间获得了没有空格的输出:String str = {QWERTPOLICEMATTER}。我应该对代码做些什么来获得用空格分隔的单词的字符串结果。

0 投票
2 回答
6361 浏览

android - Android 中 String、StringBuffer 和 StringBuilder 的内存不足异常

我在将 1.8MB 图像转换为字节然后加密时遇到内存不足异常,最后转换为字符串(日志中打印的长度为 1652328)。然后,我将此字符串附加到一些 XML 格式以发布,真正的问题出现了。StringBuffer在使用或StringBuilder添加到此图片字符串中添加一些标签时,发生内存不足异常。我该如何解决这个问题?

对于小图像,此问题不会复制。

下面的一段代码将路径中的图片转换pathString.

以上byteString内容附加到 xml 帖子中,如下所示。

更新

在上面的附加中,编码byteStream使用密码 AES 加密,然后附加到StringBuilder.

0 投票
2 回答
686 浏览

java - 将多行 JTextArea 写入 txt 文件

所以我有一个JTextArea供用户输入的内容,然后当他们单击一个按钮时,它会将其写入文本文件,我同时拥有setLineWrapsetWrapStyleWord设置trueJTextArea.

我想以文本框中出现的确切方式写入文本文件。

我试图对replace("\n", System.getProperty("line.separator"))保持String哪些内容JTextArea有效,但前提是用户在输入输入时实际上按下了返回键,但如果用户只是继续输入并点击行尾,那么它会跳转到它下面的线,replace不起作用。

我也尝试过使用 a StringBuffer,我计算了在线可以容纳多少个字符,然后在for loop inserting每行的末尾运行一个新行,因此对于第一行,我将它添加到 position 90,第二行 at 180,第三行 at270等等. 但我很快意识到这并不适用于所有情况,因为有些字符比其他字符小,例如,你可以j在一行中放置更多的 's 而不是p's。

我想做的只是想办法计算行尾,这样我就知道insert新行的位置,但我也愿意接受其他建议。谢谢。如果您认为查看我的一些代码会有所帮助,请询问。

更新 我没有实现代码来执行此操作,而是与几乎是唯一使用该程序的人之一交谈的人,他对常规记事本格式很好,我没有意识到,但只要他检查了 wordWrap 在他的记事本格式设置,这将消除他必须使用侧滚动来阅读整行,感谢您的输入

0 投票
3 回答
24658 浏览

java - 获取 Stringbuffer 中换行符开始的索引

循环通过 StringBuffer 时,我需要获取新行的起始位置。假设我在字符串缓冲区中有以下文档

在“test”、“Test”和“Testing”之后存在新行。

我需要类似的东西:

我知道这行不通,因为 '\n' 不是字符。有任何想法吗?:)

谢谢

0 投票
1 回答
747 浏览

java - 出现在下拉列表中的值的顺序发生变化

我有一个按数字和字母顺序排序的值的数组列表。例如。该列表具有值(以相同的顺序),例如 1, 2, 5, 10, 100, A012B, AB, XY, Z

我使用 for 循环将此列表添加到 StringBuffer 并将 Stringbuffer 对象作为字符串返回(通过sbf.toString()),因为我的方法只能返回 String 类型(根据方法声明)。我无法更改返回类型(它必须是 String,因为我的框架只接受 String 类型)。

返回的值显示在下拉列表中。但是值的顺序正在改变并显示为1, 10, 100, 2, 5, A012B, AB, XY, Z。我希望这些值以与它们在 arraylist 中存在的方式相同的方式显示。你能帮我吗?

0 投票
2 回答
50778 浏览

java - 在 Java 中将 StringBuffer 转换为字节数组

在 Java 中,我如何将 StringBuffer 转换为字节数组?

0 投票
14 回答
24177 浏览

java - StringBuffer 的容量是多少?

当我运行此代码时:

它给出输出:

长度:17,容量:33

明显的长度与字符串中的字符数有关,但我不确定容量是多少?StringBuffer 在重新分配空间之前可以容纳的字符数是多少?

0 投票
4 回答
1509 浏览

java - 数组列表输出

我目前正在使用迭代器来输出一个数组列表,但我想将它全部输出在一行上。我认为我最好的选择是使用字符串缓冲区,但有人有更有效的方法吗?

我目前的输出方法是这样的:

这样做根本没有效率,但我目前所了解的一切: