2016-09-10 1 views
1

을 꾸미면 BufferedInputStream을 얻을 수 있습니다. 그리고 FileInputStream.getChannel에서 얻은 채널은 콘텐츠를 Buffer으로 읽을 수 있습니다.BufferedInputStream과 java.nio.Buffer의 차이점은 무엇입니까?

그럼 BufferedInputStreamjava.nio.Buffer의 차이점은 무엇입니까? 즉, 언제 BufferedInputStream을 사용해야하며 언제 java.nio.Bufferjava.nio.Channel을 사용해야합니까?

+3

두 가지 전혀 다른 이름으로 "Buffer"라는 단어가 있습니다. 'BufferedInputStream'은'InputStream'이며 그 API를 준수합니다. 그리고 '버퍼'는 접근 가능한 데이터 버퍼입니다. 이 질문을하는 실질적인 이유가 있습니까? 이 경우 매우 불확실한 질문을하는 것보다 실제 문제를 진술하는 것이 훨씬 유익합니다. –

+0

왜 '완전히 다른 두 가지'라고 설명 할 수 있습니까? 필자는'BufferedInputStream'과'java.nio.Buffer'의 원리를 배우기위한 리소스를 얻고 싶습니다. – expoter

+2

Javadoc : [BufferedInputStream] (https://docs.oracle.com/javase/8/docs/api/java/io/BufferedInputStream.html) 및 [Buffer] (https://docs.oracle.com/javase/) 8/docs/api/java/nio/Buffer.html). 사물과 관련이없는 이유는 없습니다. 사물과 관련된 유일한 이유가 있습니다. –

답변

0

이 클래스는 다른 패키지에 대해 서로 다른 시간에 작성됩니다.

java.io 패키지의 클래스로 작업하는 경우 BufferedInputStream을 사용하십시오.

java.nio를 사용하는 경우 ByteBuffer를 사용하십시오.

둘 중 하나를 사용하지 않는 경우 일반 바이트 []를 사용할 수 있습니다. ByteBuffer에는 프리미티브를 사용하기위한 몇 가지 유용한 메소드가 있으므로 사용할 수 있습니다.

일반적으로 혼란이있을 때만 혼란을 피하기 때문에 혼란이있을 수 있습니다.

관련 문제