Reader와 InputStream의 차이점은 무엇입니까? 그리고 언제 뭘 사용합니까? Reader를 사용하여 입력 스트림을 사용해야하는 문자를 읽는 데 사용할 수 있다면 객체를 읽는다고 생각하십니까?Reader와 InputStream의 차이점은 무엇입니까?
답변
InputStream은 자원에서 정보를 얻는 원시 방법입니다. 어떤 종류의 변환도 수행하지 않고 바이트 단위로 데이터를 가져옵니다. 이미지 데이터 또는 모든 이진 파일을 읽는 경우이 스트림을 사용하십시오.
리더는 문자 스트림 용으로 설계되었습니다. 읽는 정보가 모두 텍스트이면 Reader가 사용자에게 문자 해독을 처리하고 원시 입력 스트림에서 유니 코드 문자를 제공합니다. 어떤 유형의 텍스트라도 읽고 있다면, 이것은 사용할 스트림입니다.
InputStreamReader 클래스를 사용하여 InputStream을 래핑하고 Reader로 설정할 수 있습니다.
Reader reader = new InputStreamReader(inputStream, StandardCharsets.UTF_8);
하나는 바이트를 허용하고 다른 하나는 문자를 허용합니다.
스트림에서 바이트를 읽는 데 InputStream을 사용합니다. 따라서 이미지, 비디오 및 직렬화 된 객체와 같은 이진 데이터에 유용합니다.
독자는 문자 스트림이므로 문자 데이터를 읽는 데 가장 잘 사용됩니다.
'read()'바이트를 사용하는 경우 (byte [])'배열을 언제 사용할 것인지를 지정한다. 독서 배열이 항상 더 낫다고 생각합니다. 그럼 당신은 어디에 바이트 (Read) (바이트) 또는 '읽기 (바이트 [])'배열을 사용하여'read()'를 사용하여 예제를 줄 수 있습니다. 또는'BufferedInputStream'.? – UnKnown
나는 혼란의 원인이 InputStream.read()
이 int
및 Reader.read()
는 또한 int
반환 반환 것 같다.
차이는 0과 255 사이 InputStream.read()
복귀 바이트 값 바이트 스트림의 원시 콘텐츠에 대응하고 InputStream
는 내용에 의해 바이트 읽을 수
0 내지 65,357이다 문자 값을 반환
Reader.read()
이다 예를 들어 내용 "a ‡ a"는 97, 226, 128, 161, 97으로 읽 힙니다. 여기서
a -> U+0061 -> 0x61 -> 97
및
‡ -> U+2021 -> 0xE280A1 (utf-8 encoding of 0x2021) -> 226 128 161
입니다.
Reader
내용을 "a ‡ a"내용이 97, 8225, 97으로 읽히도록 a -> U+0061 -> 0x61 -> 97
및 ‡ -> U+2021 -> 0x2021 -> 8225
으로 읽습니다.
- 1. InputStream의 파일 경로/이름
- 2. InputStream의 텍스트 읽기
- 3. InputStream의 헤더 질문 읽기
- 4. 파이썬이 Java InputStream의 사용 가능한 메소드와 동일한 것은 무엇입니까?
- 5. Java에서 InputStream의 시작과 끝 부분에 문자 추가
- 6. Databinder.Eval과 Container.DataItem의 차이점은 무엇입니까?
- 7. static_cast와 Implicit_cast의 차이점은 무엇입니까?
- 8. NSNumber와 NSInteger의 차이점은 무엇입니까?
- 9. Phing과 PHPUnderControl의 차이점은 무엇입니까?
- 10. WPF와 WinForms의 차이점은 무엇입니까?
- 11. CreateWnd와 CreateWindowHandle의 차이점은 무엇입니까?
- 12. ImageMagick과 GraphicsMagick의 차이점은 무엇입니까?
- 13. Pingback과 Trackback의 차이점은 무엇입니까?
- 14. @property와 @synthesize의 차이점은 무엇입니까?
- 15. php.ini와 .htaccess의 차이점은 무엇입니까?
- 16. 메서드와 선택기의 차이점은 무엇입니까?
- 17. 탄소와 코코아의 차이점은 무엇입니까?
- 18. String.Intern과 String.IsInterned의 차이점은 무엇입니까?
- 19. Int32와 UInt32의 차이점은 무엇입니까?
- 20. Knockout.js와 Rx.js의 차이점은 무엇입니까?
- 21. Server.Transfer와 Response.Redirect의 차이점은 무엇입니까?
- 22. MSP430과 MSP430X의 차이점은 무엇입니까?
- 23. COM과 DCOM의 차이점은 무엇입니까?
- 24. DomainKeys와 DKIM의 차이점은 무엇입니까?
- 25. 추상화와 외관의 차이점은 무엇입니까?
- 26. 면도기와 ASPX의 차이점은 무엇입니까?
- 27. 이 코드의 차이점은 무엇입니까?
- 28. Setting.settings와 web.config의 차이점은 무엇입니까?
- 29. Framework.Triggers와 Style.Triggers의 차이점은 무엇입니까?
- 30. PHP와 표현의 차이점은 무엇입니까?
"객체를 읽을 것 같습니까?"와 관련하여 Java 객체 읽기/쓰기를위한 특수한 입력/출력 스트림이 있습니다. 그것들은 각각 ObjectInputStream 및 ObjectOutputStream이며 더 큰 직렬화 프레임 워크의 일부입니다. http://java.sun.com/developer/technicalArticles/Programming/serialization/ 단 한가지 입출력 스트림 사용, 다른 것들은 소켓 등을 통해 데이터를 보낼 수 있습니다. –