Guava를 사용하여 InputStream
을 BufferedReader
으로 쉽게 변환 할 수 있습니까?Reader로 InputStream 열기
InputStream inputStream = ...;
BufferedReader br = Streams.newBufferedReader(inputStream);
나는 Files.newReader(File file, Charset charset)
를 사용하여 파일을 열 수 있습니다
내가 좋아하는 뭔가를 찾고 있어요. 멋지다. 나는 InputStream
을 사용하여 똑같이하고 싶다.
UPDATE :
CharStreams.newReaderSupplier
나를 위해 자세히 사용자 보인다 사용. 내가 도우미를 만들 수 있습니다 물론
final InputStream inputStream = new FileInputStream("/etc/fstab");
Reader bufferedReader = new BufferedReader(CharStreams.newReaderSupplier(new InputSupplier<InputStream>(){
public InputStream getInput() throws IOException {
return inputStream;
}
}, Charset.defaultCharset()).getInput());
는 STH 좋아합니까 : 내가 잘못 해요,하지만 쉽게 구아바를 사용하여 BufferedReader
에 InputStream
를 변환하기 위해 내가 그런 일을 할 필요가있는 경우 정정 해줘
return new BufferedReader(new InputStreamReader(inputStream));
그러나 나는 그러한 도우미가 Guava IO에 의해 제공되어야한다고 생각한다. 나는 File 인스턴스에 대해 그러한 트릭을 할 수있다. 왜 InputStream을 사용할 수 없습니까?
// Guava can do this
Reader r = Files.newReader(new File("foo"), charset);
// but cannot do this
Reader r = SomeGuavaUtil.newReader(inputStream, charset);
맞음 나 틀렸어도 API가 부족한 것 같습니다.
나는 이것이 매우 * 공통적 인 것으로 당신에게 전적으로 동의하며, 구아바 같은 공통 라이브러리가 표준화한다면 위대 할 것입니다. –