Upload
mingi-kyung
View
152
Download
0
Embed Size (px)
Citation preview
데이터를 어떻게 읽고 저장할 것인가 ?
File I/O: 파일 입출력창의적공학설계입문 다섯번째 시간
파일이란 ?
Contents01
자기 테이프 / 읽기 & 쓰기 / 상대 & 절대 경로파일 쓰기0
2 예제 : 파일에 데이터 쓰기파일 읽기0
3 예제 : 파일에서 데이터 읽어들이기예제 : 마우스 움직임을 기록하기0
4 복합적인 예제
3
기록이란 ?기록은 돌과 같이 오래가는 재질의 물건에서 가장 오래 버팁니다
4
최초의 외부 저장장치 : 자기 테이프
• 자기 테이프는 수많은 책들을 순서 없이 써넣은 형태에 가깝기 때문에 포인터라는 개념이 필요합니다 .
5
파일이란 ?
• 파일은 컴퓨터의 기본 저장 구조 • 컴퓨터 내부의 모든 데이터는 파일의 논리적인 구조를 이용해서 사용함
– 메모리 , 프린터 , 하드디스크 , CD, DVD, … – 파일처럼 관리함 ( 리눅스나 유닉스 참조 ) – 파일은 다음의 위치를 기억함
• 시작 포인터 • 현재 포인터 ( 파일을 열었을 때만 사용 ) • 끝 포인터
• 자기 테이프 (Magnetic Tape) 도 아직 사용 중
6
File Read / Write
• 파일을 읽고 쓰는 것은 텍스트 (text) 를 기본으로 합니다 . – XML, HTML 문서 등은 교환 문서의 표준 – 개인적인 용도의 사용 , 암호화 등은 텍스트 데이터를 기준으로 함
• 문자열을 읽을 때 – loadStrings(“ 파일 위치” );
• 문자열을 쓸 때 – saveStrings(“ 파일 위치” , 변수 또는 문자열 );
7
File Path
• 절대 경로– 파일의 디렉토리의 위치에 따른 경로
processing.exe 의 경로는F:\\processing-2.0b7\\processing.exe
8
상대 경로 (1)
• 상대 경로– 파일의 상대적인 위치에 따른 경로
경우 1: 저장한 프로그램의 같은 폴더에 있을 경우파일의 경로는 “ map.png”
경우 2: 저장한 프로그램의 같은 폴더의 data 폴더에 있을 경우파일의 경로는 “ map.png”
9
상대 경로 (2)
• 상대 경로– 파일의 상대적인 위치에 따른 경로
경우 3: 저장한 프로그램의 같은 폴더의 data 폴더 안에 test라는 폴더 내부에 있는 경우파일의 경로는 “ test\\map.png”
10
예제 1: 파일 저장하기
마우스를 누르면 E 드라이브의 text.txt 파일에 다음 문자열을 저장함 Hello World
대부분의 프로그래밍 언어는 경로 표시를 할 때 , \ 대신 \\ 기호를 씀 ( 자세한 내용은 escape sequence 참조 )
11
예제 2: 파일 읽기
12
예제 3: 마우스 움직임 기록 (1)
• 마우스의 움직임을 표시 • 마우스의 좌표를 파일로 저장
13
예제 3: 마우스 움직임 기록 (2)
14
예제 3: 마우스 움직임 기록 (3)
마우스를 누르면 현재 마우스 커서가 위치한 좌표값을 저장함 무슨 좌표 ? x 좌표 값 : mouseX y 좌표 값 : mouseY 어디에 ? 정수값을 저장하는 배열변수 x: 일련의 x 값을 저장 y: 일련의 y 값을 저장
키보드의 아무 키나 누르면 현재까지 마우스 버튼이 눌렸던 좌표값을 E 드라이브의 lines.txt 파일에 저장함 무슨 데이터 ? 정수값을 저장하는 배열변수 x: 일련의 x 값을 저장 y: 일련의 y 값을 저장 어떻게 ?
- 좌표 값 하나 하나 ( 숫자 , 정수 , Integer) 를 문자열 (String) 로 변환하는 작업을 반복 (for 문 이용 ) - E:\lines.txt 에 저장