java 接收超长字符串
时间: 2023-08-11 10:03:19 浏览: 65
Java 中可以使用 `StringBuilder` 或 `StringBuffer` 来处理超长字符串,这两个类都可以动态地构建字符串。它们的主要区别在于线程安全性:`StringBuilder` 不是线程安全的,而 `StringBuffer` 是线程安全的。
以下是一个使用 `StringBuilder` 处理超长字符串的示例代码:
```java
StringBuilder sb = new StringBuilder();
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String line;
while ((line = br.readLine()) != null) {
sb.append(line);
}
String longString = sb.toString();
```
在上面的示例中,我们首先创建了一个 `StringBuilder` 对象 `sb`,然后使用 `BufferedReader` 从标准输入流中逐行读取字符串并将其追加到 `sb` 中。最后,我们使用 `toString()` 方法将 `sb` 转换为一个字符串。
如果你需要在多个线程中处理字符串,或者需要更高的线程安全性,可以使用 `StringBuffer` 替代 `StringBuilder`。
```java
StringBuffer sb = new StringBuffer();
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String line;
while ((line = br.readLine()) != null) {
sb.append(line);
}
String longString = sb.toString();
```
在这个示例中,我们使用 `StringBuffer` 来代替 `StringBuilder`,其余部分与前面的示例相同。