Java에서 String을 InputStreamReader로 바꾸는 방법은 무엇입니까?
String
값을 어떻게으로 변환 할 수 InputStreamReader
있습니까?
ByteArrayInputStream 도 트릭을 수행합니다.
InputStream is = new ByteArrayInputStream( myString.getBytes( charset ) );
나는 또한 아파치 커먼즈 IOUtils
클래스를 발견했다 .
InputStreamReader isr = new InputStreamReader(IOUtils.toInputStream(myString));
특별히 InputStreamReader 여야합니까? StringReader 를 사용하는 것은 어떻 습니까?
그렇지 않으면 StringBufferInputStream을 사용할 수 있지만 문자 변환 문제로 인해 더 이상 사용되지 않으므로 StringReader를 선호해야합니다.
@ Dan 과 같은 질문 -왜 StringReader가 아닌가?
InputStreamReader 여야하는 경우 :
String charset = ...; // your charset
byte[] bytes = string.getBytes(charset);
ByteArrayInputStream bais = new ByteArrayInputStream(bytes);
InputStreamReader isr = new InputStreamReader(bais);
당신은) 도착하려고 Reader
밖으로 기능을 InputStreamReader
, 또는 b) InputStream
중 기능 InputStreamReader
? 당신은 얻을 수 없습니다 b). InputStreamReader
이 아닙니다 InputStream
.
목적은 바이트의 소스 InputStreamReader
를 취하여 InputStream
바이트를 a 형식으로 문자로 디코딩하는 것 Reader
입니다. 이미 데이터를 문자 (원래 문자열)로 가지고 있습니다. 문자열을 바이트로 인코딩하고 바이트를 문자로 다시 디코딩하는 것은 중복 작업입니다.
Reader
소스를 사용하지 않으려면을 사용하십시오 StringReader
.
InputStream
바이트 만 제공 하려는 경우 IOUtils.toInputStream(..)
여기에서 다른 답변에서 제안한 아파치 공통 을 사용 하십시오.
Cactoos 를 시도해 볼 수 있습니다 .
InputStream stream = new InputStreamOf(str);
그런 다음 필요한 경우 Reader
:
Reader reader = new ReaderOf(stream);
참고 URL : https://stackoverflow.com/questions/247161/how-do-i-turn-a-string-into-a-inputstreamreader-in-java
'IT' 카테고리의 다른 글
NuGet 패키지 위치를 변경할 수 있습니까? (0) | 2020.03.24 |
---|---|
"is None"과 "== None"의 차이점은 무엇입니까 (0) | 2020.03.24 |
jQuery 지연을 어떻게 사용할 수 있습니까? (0) | 2020.03.24 |
__main__.py은 (는) 무엇 이죠? (0) | 2020.03.24 |
HTML5 WebSocket API를 지원하는 브라우저는 무엇입니까? (0) | 2020.03.24 |