IT★_공부

자바의 Stream

문또끼 2022. 8. 23. 20:18

Stream이란?

byte형태의 data들의 연속적인 흐름

IO (input/output)= inputStream + OutputStream

InputStream : file 을 code(.java파일)로 읽어들임.

OutputStream : code(.java파일)를 file로 내보냄.


FileInputStream : read, 파일을 읽는 것 FileReader : 파일을 읽는걸 쉽게 도와주는 것

FileOutputStream : write, 파일을 쓰는 것 FileWrite : 파일을 쓰는걸 쉽게 도와주는 것

.append : 쓰는건 같지만 리턴타입이 write 로 method chaining(메소드 연결) 가능

파일을 읽고 쓸때 사용후 닫아야함 : 통로가 만들어지는 형태이며 통로가 있을때 다른 애가 통로를 못열거나 마음대로 동작불가 : 변수 ./* -close 로 닫아줘야함 : Scanner(스캐너)도 닫을수 있지만 닫을경우 다시 열지 못한다

향상된 for문 ( 타입 변수 : 배열 ) 이때 타입이 다른 클래스타입으로 넣어도 됨

< 용어정리 > import java.io.file : 폴더생성위해서 import해줌.

File 변수 = new File("폴더위치"); : 폴더를 설치할 경로 설정

File 변수 = new File("폴더위치", "폴더이름"); : 폴더를 설치할 경로 설정, 만들 폴더 이름

변수.mkdir() : 지정된 파일만 만든다.(만들고자 하는 디렉토리의 상위 디렉토리가 존재하지 않을 경우, 생성 불가)

변수.mkdirs() : 부모 폴더 부터 추상 경로로 지정된 파일을 만든다(만들고자 하는 디렉토리의 상위 디렉토리가 존재하지 않을 경우, 상위 디렉토리까지 생성)

File.listFiles() : 디렉토리의 파일목록(디렉토리 포함)을 File배열로 반환한다.

File.isFile() : 경로가 파일이라면, true 리턴

File.isDirectory() : 경로가 디렉토리(폴더)라면, true 리턴

File.list() : 해당 디렉토리에서 모든 파일 리스트를 리턴하는 메소드 File.list(FilenameFilter) : FilenameFilter로 필터링 해서 파일 리스트를 리턴하는 메소드BufferedInputStream : 바이트 입력 스트림에 연결되어서 버퍼를 제공해주는 보조 스트림( 데이터를 덩어리로 움직임. 저장할 데이터의 크키 조절 가능) : read

BufferedoutputStream : 바이트 입력 스트림에 연결되어서 버퍼를 제공해주는 보조 스트림 (데이터를 덩어리로 움직임. 움직일 데이터의 크키 조절 가능) : write

절대경로 : 최상위 디렉토리가 반드시 포함 된 경로

상대경로 : **현재 디렉토리(비교 대상)**를 기준으로 작성된 경로

상대경로가 왜 필요한가?

절대경로는 정적이기 때문에 변하지 않는다. 따라서 경로가 바뀔 때마다 문서를 다시 작성해야 하는 번거로움이 있다. 상대경로는 동적이기 때문에 다른 os에서 같은 파일을 다루더라도 경로를 매번 바꿔주지 않아도 된다.

/ : 루트(가장 최상의 디렉토리)

./ : 현재 위치

../ : 현재 위치의 상위 폴더

ex) index.php가 C:\index\a에 위치한다면,

여기서 / 는 C:

./ 는 a

../ 는 index라는 것.