Jak przekonwertować ciąg znaków na strumień wejściowy w Javie?

Podany ciąg znaków:

String exampleString = "example";

Jak przekonwertować go na InputStream?

Author: Iain, 2009-04-23

5 answers

Tak:

InputStream stream = new ByteArrayInputStream(exampleString.getBytes(StandardCharsets.UTF_8));

Należy zauważyć, że zakłada się, że strumień wejściowy jest strumieniem bajtów reprezentującym oryginalny ciąg znaków zakodowany jako UTF-8 .

Dla wersji Java poniżej 7, zastąp StandardCharsets.UTF_8 przez "UTF-8".

 1463
Author: Iain,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-02-06 16:24:21

Uważam, że używanie Apache Commons IO znacznie ułatwia mi życie.

String source = "This is the source of my input stream";
InputStream in = org.apache.commons.io.IOUtils.toInputStream(source, "UTF-8");

Może się okazać, że biblioteka oferuje również wiele innych skrótów do często wykonywanych zadań, które możesz wykorzystać w swoim projekcie.

 281
Author: Elijah,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-11-08 09:14:51

Możesz użyć StringReader i przekonwertować czytnik do strumienia wejściowego za pomocą rozwiązania w tym innym poście stoskoverflow .

 39
Author: A_M,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:34:45

W Javie możemy przekonwertować String Na InputStream na dwa sposoby:

  1. Using ByteArrayInputStream

Przykład:-

String str = "String contents";
InputStream is = new ByteArrayInputStream(str.getBytes(StandardCharsets.UTF_8));
  1. Using Apache Commons IO

Przykład:-

String str = "String contents"
InputStream is = IOUtils.toInputStream(str, StandardCharsets.UTF_8);
 1
Author: Anil Nivargi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2021-01-16 02:31:41

Możesz spróbować cactoos .

final InputStream input = new InputStreamOf("example");

Obiekt jest tworzony za pomocą new, a nie statycznej metody dla powodu .

 -1
Author: andreoss,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-07-01 01:06:24