I/O2: 노드스트림 - 파일기반 입/출력처리
I/O클래스의 구조와 스트림(Stream)
- 스트림 : 데이터의 소스에서 목적지까지 데이터를 이동시키는 일종의 통로.
- 스트림 종류 :
파일기반 입/출력처리 개념
- 가장 빈번히 사용함.
- 프로그래밍과정에서 발생하는 데이터를 파일에 저장하거나 파일의 내용을 읽기/복사/이동등은 모두 파일기반 입/출력처리를 사용함.
- File라이브러리의 File() : 파일의 크기, 속성. 이름, 경로에 대한 정보얻기, 파일 생성, 파일 삭제가능.
- 하지만 파일에서 데이터를 읽고 쓰는 것은 스트림을 통해서만 가능.
- 파일경로 구분자 : 리눅스
/
만 사용 , 윈도우/
또는\
사용. => 문제가 발생할 수 있으므로 File라이브러리가 제공하는 구분자인File.separator
사용하는 것이 좋다.
예시
예시1 : 파일 생성과 삭제
- URI : 통합 자원 식별자(Uniform Resource Identifier, URI)는 인터넷에 있는 자원을 나타내는 유일한 주소.
- 형식 :
데이터타입:///경로
- 예시 :
phone:///경로
,file:///경로
,http:///경로
등등
- 형식 :
1 | public static void main(String[] args) throws IOException, URISyntaxException{ |
예시2 : File클래스를 이용해 현재 경로의 파일 정보 출력
1 | public static void main(String[] args) { |
FileInputStream과 FileOutputStream을 이용한 복사
- 가장 기본적이고 중요한 코드.
- 바탕화면에 있는 자바파일스트림테스트.txt 파일을 C:/Temp디렉토리로 복사하는 예시.
- 해당 파일이 존재하지 않으면 FileNotFoundException이 발생함.
1 | public class CopyTest { |
FileInputStream과 FileOutputStream을 이용한 웹상의 이미지 다운로드하기
- 주로 사용한다.
1 | public static void main(String[] args) { |
FileReader와 FileWriter를 이용한 문서 작성
- FileReader와 FileWriter는 문자 단위의 데이터를 파일에서 읽고 쓰는 스트림.
- 처리과정 :
- System.in(키보드)
- FileWriter
- 파일 생성 후 작성 완료
- FileReader
- System.out(모니터)
1 | public static void main(String[] args) { |