如何从String创建BufferedReader?

wat*_*ter 14 java

我正在尝试将String传递给我BufferedReader.我如何通过"测试" String而不是输入System.in

String test = "test";
BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in));
Run Code Online (Sandbox Code Playgroud)

Sar*_*hAk 17

您可以修改代码,如下所示

String test = "test";
Reader inputString = new StringReader(test);
BufferedReader reader = new BufferedReader(inputString);
Run Code Online (Sandbox Code Playgroud)


Ale*_*nov 9

没有必要缓冲一个字符串.只是

String aString = ...;
Reader inFromUser = new StringReader(aString);
Run Code Online (Sandbox Code Playgroud)

  • @JonathanLandrum如果你有一个字符串,那么根据定义它已经完全在内存中了。如果你只是说 `BufferedReader` 有 `lines()` 方法,而 `StringReader` 没有,那么公平,但它在 Java 11 中已修复(https://docs.oracle.com/en/java/javase /11/docs/api/java.base/java/lang/String.html#lines())。 (3认同)