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) { |
![[OS/WINDOW]배포후 서버재시작에 batch와 윈도우 스케줄러 활용하기](https://cdn.pixabay.com/photo/2012/03/04/00/50/board-22098_960_720.jpg)
![[블로그]헥소테마에서 댓글기능 facebook에서 utterances로 변경하기](https://miro.medium.com/max/1600/1*aOv6h3h_v9PQWa03zGACnw.png)