Java Java시작하기 자바 스트림이란 무엇입니까?

자바 스트림이란 무엇입니까?

Nov 14, 2019 am 09:19 AM
java 흐름

자바 스트림이란 무엇입니까?

1. 개념

Java에서 파일 작업은 다음과 같습니다. 스트리밍 방식으로 진행됩니다. 스트림은 Java 메모리에 있는 데이터의 정렬된 시퀀스입니다. Java는 소스(파일, 메모리, 키보드, 네트워크)의 데이터를 메모리로 읽어 스트림을 형성한 다음 이 스트림을 다른 대상(파일, 메모리, 콘솔, 네트워크)에 기록하므로 이를 스트림이라고 합니다. 데이터 시퀀스는 서로 다른 시간에 소스의 서로 다른 부분에서 작동합니다.

2. 분류

스트림 분류, Java의 스트림 분류는 상대적으로 풍부하여 처음 접하는 사람들은 읽으면 어지러움을 느낄 것입니다. 그것. 스트림을 분류하는 방법에는 여러 가지가 있습니다:

1. 입력 방향, 입력 스트림 및 출력 스트림에 따라 입력 및 출력의 참조 개체는 Java 프로그램입니다.

2. 데이터 처리 단위에 따라 바이트 스트림과 문자 스트림으로 구분되며, 바이트 스트림 읽기의 최소 단위는 1바이트(1바이트=8비트)입니다. 한 번에 읽습니다. 한 문자(1char = 2byte = 16bit)입니다.

3. 다양한 기능에 따라 노드 흐름과 처리 흐름으로 구분됩니다. 노드 흐름은 소스에서 직접 데이터를 읽고 쓰는 흐름입니다(이 흐름은 패키징되거나 수정되지 않습니다). 처리 흐름은 소스에서 직접 데이터를 읽고 쓰는 흐름입니다. 노드 스트림 캡슐화를 기반으로 하는 스트림입니다. FileInputStream은 파일에서 직접 데이터를 읽을 수 있는 노드 스트림이지만 BufferedInputStream은 FileInputStream을 래핑하여 버퍼링 기능을 제공할 수 있습니다. .

사실 위의 세 가지 범주 외에도 객체 스트림, 버퍼 스트림, 압축 스트림, 파일 스트림 등과 같이 흔히 듣는 범주도 있습니다. 실제로 이는 모두 노드 흐름 및 처리 흐름의 하위 범주입니다. 물론 필요한 경우 새 스트림 유형을 생성할 수도 있습니다.

3. 흐름 분류의 관계

흐름 분류가 아무리 풍부하고 복잡하더라도 그 뿌리는 네 가지 기본 범주에서 나옵니다. 이 네 클래스 간의 관계는 다음과 같습니다.

바이트 스트림 문자 스트림

입력 스트림 InputStream Reader

출력 스트림 OutputStream Writer

# 🎜🎜#

4. 바이트 스트림과 문자 스트림의 상호 변환

1. 바이트 스트림에서 문자 스트림으로: InputStreamReader 및 OutputStreamWriter 클래스가 이를 달성할 수 있습니다.

2. 문자 스트림에서 바이트 스트림으로: 문자 스트림에서 char[] 배열을 가져와서 이를 문자열로 변환한 다음 String API 함수 getBytes()를 호출하여 바이트[ ], 그런 다음 ByteArrayInputStream 및 ByteArrayOutputStream을 통해 바이트 스트림으로 변환할 수 있습니다.

많은

java 교육 동영상, 모두 PHP 중국어 웹사이트에 있습니다. 온라인 학습에 오신 것을 환영합니다!

위 내용은 자바 스트림이란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제

PHP 튜토리얼
1600
276
자바의 교착 상태는 무엇이며 어떻게 막을 수 있습니까? 자바의 교착 상태는 무엇이며 어떻게 막을 수 있습니까? Aug 23, 2025 pm 12:55 PM

Adeadlockinjavaoccurswhentwoormorethreadsareblockedsforever,, 일반적으로, 일반적으로 duetocircularwaitcausedbyinconsentlockordering; thiscanbeptrededbectedbectedbectedbectedbectedbectefeartefournecessaryconditions —MutualExclusion, holdandwait, nopualwait, nopualclusion, nopualclusion

Java에서 선택 사항을 사용하는 방법은 무엇입니까? Java에서 선택 사항을 사용하는 방법은 무엇입니까? Aug 22, 2025 am 10:27 AM

useOptional.empty (), 옵션.의 (), andoptional.ofnullable () theCreateOptionalInstancesDependingOnsabsent, non-null, orpossiblynull.2.checkforvaluessafelyusingispresent () orpreferlyinglioid () toaviDIDHECK.3

Micronaut로 구름 신용 Java 응용 프로그램 구축 Micronaut로 구름 신용 Java 응용 프로그램 구축 Aug 20, 2025 am 01:53 AM

micronautisidealforbuildingcloud-nativejavaapplicationsduetoitslowmemoryfootprint, faststartuptimes 및 compile-timedectional encection, mateituperiortotraditionalframslikespringbootformicroservices, andserverlessenvonderments.1.microna

안전한 코딩을위한 JCA (Java Cryptography Architecture) 안전한 코딩을위한 JCA (Java Cryptography Architecture) Aug 23, 2025 pm 01:20 PM

제공자 메커니즘을 통해 알고리즘을 구현하는 MessageDigest, Cipher, Keygenerator, Securandom, Signature, Keystore 등과 같은 JCA 핵심 구성 요소를 이해합니다. 2. SHA-256/SHA-512, AES (256 비트 키, GCM 모드), RSA (2048 비트 이상) 및 Securerandom과 같은 강력한 알고리즘 및 매개 변수를 사용하십시오. 3. 하드 코딩 된 키를 피하고 KeyStore를 사용하여 키를 관리하고 PBKDF2와 같은 안전하게 파생 된 암호를 통해 키를 생성합니다. 4. ECB 모드 비활성화, GCM과 같은 인증 암호화 모드를 채택하고 각 암호화에 고유 한 IV를 사용하고 민감한 민감한 IV를 시간에 사용하십시오.

스프링 데이터 JPA 및 최대 절전 모드와의 Java 지속성 스프링 데이터 JPA 및 최대 절전 모드와의 Java 지속성 Aug 22, 2025 am 07:52 AM

SpringDataJPA 및 최대 절전 모드의 핵심은 다음과 같습니다. 1. JPA는 사양이고 최대 절전 모드는 구현, SpringDataJPA 캡슐화는 DAO 개발을 단순화합니다. 2. 엔티티 클래스 @entity, @id, @column 등을 통해 데이터베이스 구조를 맵핑합니다. 3. 저장소 인터페이스는 JParePository를 상속하여 CRUD 및 명명 된 쿼리 메소드를 자동으로 구현합니다. 4. 복잡한 쿼리 @Query 주석을 사용하여 JPQL 또는 기본 SQL을 지원합니다. 5. SpringBoot에서는 스타터 종속성을 추가하고 데이터 소스 및 JPA 속성을 구성하여 통합이 완료됩니다. 6. 거래는 @transactiona에 의해 이루어집니다

고정 : Windows는 '필요한 권한은 클라이언트가 보유하지 않습니다'를 보여줍니다. 고정 : Windows는 '필요한 권한은 클라이언트가 보유하지 않습니다'를 보여줍니다. Aug 20, 2025 pm 12:02 PM

runeApplicationOrCommandAsAdMinistratorByright-Clicking andSelecting "RunasAdMinStrator"TONESUREELEVATEDPRIVILEGESERANTED.2.CHECKUSERACCOUNTCONTROL (UAC) SETCTINGSBYSERCHINGFORUACINTHARTMENUANDSTITTINGTHETEDEFAULLEVEL (SecondFrff

Java에서 패턴 및 매칭 클래스를 사용하는 방법은 무엇입니까? Java에서 패턴 및 매칭 클래스를 사용하는 방법은 무엇입니까? Aug 22, 2025 am 09:57 AM

패턴 클래스는 정규 표현식을 컴파일하는 데 사용되며 매칭 클래스는 문자열에서 일치하는 작업을 수행하는 데 사용됩니다. 이 둘의 조합은 텍스트 검색, 일치 및 교체를 실현할 수 있습니다. 먼저 Pattern.comPile ()을 통해 Pattern Object를 작성한 다음 Matcher () 메서드를 호출하여 매치 자 인스턴스를 생성하십시오. 그런 다음 matches ()를 사용하여 전체 문자열 일치를 판단하고 ()를 판단하고 ()를 찾으려면 하위 시퀀스, replaceall () 또는 replacefirst ()를 대체 할 수 있습니다. 정규에 캡처 그룹이 포함 된 경우 Nth 그룹 내용은 그룹 (N)을 통해 얻을 수 있습니다. 실제 응용 프로그램에서 반복적 인 컴파일 패턴을 피하고 특수 문자 탈출에주의를 기울이고 필요에 따라 일치하는 패턴 플래그를 사용하고 궁극적으로 효율적으로 달성해야합니다.

레벨 데빌의 모든 주요 위치가 설명되었습니다 레벨 데빌의 모든 주요 위치가 설명되었습니다 Aug 20, 2025 am 01:50 AM

ExploreKeyAreasinLevelDevilStrictical

See all articles