Processing 5th Class: File I/O

14
데데데데 데데데 데데 데데데 데데데 ? File I/O: 파파 파파파 데데데데데데데데데 데데데데 데데

Transcript of Processing 5th Class: File I/O

Page 1: Processing 5th Class: File I/O

데이터를 어떻게 읽고 저장할 것인가 ?

File I/O: 파일 입출력창의적공학설계입문 다섯번째 시간

Page 2: Processing 5th Class: File I/O

파일이란 ?

Contents01

자기 테이프 / 읽기 & 쓰기 / 상대 & 절대 경로파일 쓰기0

2 예제 : 파일에 데이터 쓰기파일 읽기0

3 예제 : 파일에서 데이터 읽어들이기예제 : 마우스 움직임을 기록하기0

4 복합적인 예제

Page 3: Processing 5th Class: File I/O

3

기록이란 ?기록은 돌과 같이 오래가는 재질의 물건에서 가장 오래 버팁니다

Page 4: Processing 5th Class: File I/O

4

최초의 외부 저장장치 : 자기 테이프

• 자기 테이프는 수많은 책들을 순서 없이 써넣은 형태에 가깝기 때문에 포인터라는 개념이 필요합니다 .

Page 5: Processing 5th Class: File I/O

5

파일이란 ?

• 파일은 컴퓨터의 기본 저장 구조 • 컴퓨터 내부의 모든 데이터는 파일의 논리적인 구조를 이용해서 사용함

– 메모리 , 프린터 , 하드디스크 , CD, DVD, … – 파일처럼 관리함 ( 리눅스나 유닉스 참조 ) – 파일은 다음의 위치를 기억함

• 시작 포인터 • 현재 포인터 ( 파일을 열었을 때만 사용 ) • 끝 포인터

• 자기 테이프 (Magnetic Tape) 도 아직 사용 중

Page 6: Processing 5th Class: File I/O

6

File Read / Write

• 파일을 읽고 쓰는 것은 텍스트 (text) 를 기본으로 합니다 . – XML, HTML 문서 등은 교환 문서의 표준 – 개인적인 용도의 사용 , 암호화 등은 텍스트 데이터를 기준으로 함

• 문자열을 읽을 때 – loadStrings(“ 파일 위치” );

• 문자열을 쓸 때 – saveStrings(“ 파일 위치” , 변수 또는 문자열 );

Page 7: Processing 5th Class: File I/O

7

File Path

• 절대 경로– 파일의 디렉토리의 위치에 따른 경로

processing.exe 의 경로는F:\\processing-2.0b7\\processing.exe

Page 8: Processing 5th Class: File I/O

8

상대 경로 (1)

• 상대 경로– 파일의 상대적인 위치에 따른 경로

경우 1: 저장한 프로그램의 같은 폴더에 있을 경우파일의 경로는 “ map.png”

경우 2: 저장한 프로그램의 같은 폴더의 data 폴더에 있을 경우파일의 경로는 “ map.png”

Page 9: Processing 5th Class: File I/O

9

상대 경로 (2)

• 상대 경로– 파일의 상대적인 위치에 따른 경로

경우 3: 저장한 프로그램의 같은 폴더의 data 폴더 안에 test라는 폴더 내부에 있는 경우파일의 경로는 “ test\\map.png”

Page 10: Processing 5th Class: File I/O

10

예제 1: 파일 저장하기

마우스를 누르면 E 드라이브의 text.txt 파일에 다음 문자열을 저장함 Hello World

대부분의 프로그래밍 언어는 경로 표시를 할 때 , \ 대신 \\ 기호를 씀 ( 자세한 내용은 escape sequence 참조 )

Page 11: Processing 5th Class: File I/O

11

예제 2: 파일 읽기

Page 12: Processing 5th Class: File I/O

12

예제 3: 마우스 움직임 기록 (1)

• 마우스의 움직임을 표시 • 마우스의 좌표를 파일로 저장

Page 13: Processing 5th Class: File I/O

13

예제 3: 마우스 움직임 기록 (2)

Page 14: Processing 5th Class: File I/O

14

예제 3: 마우스 움직임 기록 (3)

마우스를 누르면 현재 마우스 커서가 위치한 좌표값을 저장함 무슨 좌표 ? x 좌표 값 : mouseX y 좌표 값 : mouseY 어디에 ? 정수값을 저장하는 배열변수 x: 일련의 x 값을 저장 y: 일련의 y 값을 저장

키보드의 아무 키나 누르면 현재까지 마우스 버튼이 눌렸던 좌표값을 E 드라이브의 lines.txt 파일에 저장함 무슨 데이터 ? 정수값을 저장하는 배열변수 x: 일련의 x 값을 저장 y: 일련의 y 값을 저장 어떻게 ?

- 좌표 값 하나 하나 ( 숫자 , 정수 , Integer) 를 문자열 (String) 로 변환하는 작업을 반복 (for 문 이용 ) - E:\lines.txt 에 저장