Chapter 10 예외 처리와 파일 입출력 01 예외 처리 02 표준 입출력 03 파일 입출력 예제 모음 요약 연습문제.

Slides:



Advertisements
Similar presentations
1/29 키보드로 직접 입력할 수 없는 다양한 기호와 한자를 입력하는 방법을 알아 보자. 또한 블록으로 영역을 설정하는 여러 가지 방법에 대해 살펴본 후 블록 으로 설정된 내용을 복사하여 붙여넣거나, 잘라내고 이동하는 방법에 대해서 도 알아보자. 02_ 문서의 입력과 편집.
Advertisements

1/37 한글에는 전문적인 문서 편집을 위한 고급 기능이 있다. 문서를 편리하게 수 정할 수 있도록 도와주는 찾기 / 찾아 바꾸기, 다른 위치로 이동할 수 있는 책 갈피와 하이퍼링크에 대해 알아보자. 그리고 자주 사용하는 서식을 미리 정 해 놓고 쓰는 스타일 활용법과 스타일이.
1 08 배열. 한국대학교 객체지향연구소 2 C 로 배우는 프로그래밍 기초 2 nd Edition 배열  동일한 자료유형의 여러 변수를 일괄 선언  연속적인 항목들이 동일한 크기로 메모리에 저장되는 구조  동일한 자료 유형이 여러 개 필요한 경우에 이용할 수 있는.
OpenCV 안드로이드 연동 환경설정 OpenCV-Android 를 다운 받습니다.
2장. 프로그램의 기본 구성. 2장. 프로그램의 기본 구성 2-1"Hello, World!" 들여다 보기 /* Hello.c */ #include int main(void) { printf("Hello, World! \n"); return 0;
컴퓨터프로그래밍 1주차실습자료 Visual Studio 2005 사용법 익히기.
Power Java 제3장 이클립스 사용하기.
최윤정 Java 프로그래밍 클래스 상속 최윤정
Java로 배우는 디자인패턴 입문 Chapter 5. Singleton 단 하나의 인스턴스
1장. 이것이 C 언어다.. 1장. 이것이 C 언어다. 프로그래밍 언어 1-1 C 언어의 개론적 이야기 한글, 엑셀, 게임 등의 프로그램을 만들 때 사용하는 언어 ‘컴퓨터 프로그래머’라는 사람들이 제작 C 언어(C++ 포함)를 가장 많이 사용함.
10장 예외 Lab 10-1.
Outlook Express 메일 백업 및 복원가이드
데이터 파일 C 데이터 파일과 스트림(Stream) 텍스트 파일 처리
네트워크 프로그래밍 및 실습.
Lesson 9. 예외처리.
CHAPTER 02 OpenCV 개요 PART 01 영상 처리 개요 및 OpenCV 소개.
1. C++ 시작하기.
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
메시지 큐[5] – test1.c 메시지 제어: msgctl(2) #include <sys/msg.h>
Homework #5 (1/3) 다음을 수행한 후, 결과 파일들을 출력하여 제출한다.
학습목표 학습목차 다른 홈페이지의 HTML 파일 코드를 보는 방법에 대해 알아봅니다.
11 표준 입출력과 파일 입출력 데이터를 읽고 쓰는 다양한 방법 익히기!.
명품 JAVA Essential.
컴퓨터 프로그래밍 실습 #6 제 4 장 클래스 작성.
10장. 예외처리.
11장. 1차원 배열.
Method & library.
사용자 함수 사용하기 함수 함수 정의 프로그램에서 특정한 기능을 수행하도록 만든 하나의 단위 작업
프로그래밍 개요
Java의 정석 제 5 장 배 열 Java 정석 남궁성 강의 의
2018년 11월 05일 박성진 Web & Internet [08] 레이아웃 P1 2018년 11월 05일 박성진
영상처리 실습 인공지능연구실.
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
24장. 파일 입출력.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
USN(Ubiquitous Sensor Network)
프로그래밍 원리 Chapter 05 자바스크립트 기초 신한대학교 IT융합공학부 박 호 균.
3D 프린팅 프로그래밍 05 – 반복패턴 만들기 강사: 김영준 목원대학교 겸임교수.
8장. spss statistics 20의 데이터 변환
자바 5.0 프로그래밍.
9강. 클래스 실전 학사 관리 프로그램 만들기 프로그래밍이란 결국 데이터를 효율적으로 관리하기 위한 공구
1. 스크립트 작성 마법사 2. NSIS 스크립트 컴파일
컴퓨터 프로그래밍 기초 [01] Visual Studio 설치 및 사용방법
CHAP 21. 전화, SMS, 주소록.
( Windows Service Application Debugging )
디버깅 관련 옵션 실습해보기 발표 : 2008년 5월 19일 2분반 정 훈 승
OpenCV 설정 2.21 만든이 딩딩.
DK-128 개발환경 설정 아이티즌 기술연구소
에어 PHP 입문.
수동 설치시는 설치 방법 1. 두번에 설치 CD 속에 fscommand 폴더 밑에 Osstem 이라는 폴더를
Linux 9.X 기초에서 활용까지 Chapter 06 VI 편집기.
컴퓨터 구성요소와 사용 컴퓨터 문서 작업 인터넷 활용
01. 분산 파일 시스템의 개요 네트워크에 분산된 파일을 사용자가 쉽게 접근하고 관리할 수 있게 해준다.
기초C언어 제2주 실습 프로그래밍의 개념, 프로그램 작성 과정 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원
Chapter 10 데이터 검색1.
함수, 모듈.
슬라이드 쇼의 설정 슬라이드 쇼의 실행 파일과 폴더의 관리 글꼴을 포함해서 저장 웹 페이지로 게시 압축 파일
Android -Data Base 윤수진 GyeongSang Univ. IT 1.
Chapter 12 파일 입출력.
프로그래밍 개론 Ⅰ-실습 2장 데이터와 식①.
JSP Programming with a Workbook
Java의 정석 제 8 장 예외처리 (Exception handling) Java 정석 남궁성 강의
Docker Study 6~7.
Power Point 예제 디자인 적용 (서식) - (디자인적용) - (원하는 디자인 선택)
7 생성자 함수.
6 객체.
SPL-Duino 블록 편집기 이용하기 전류센서 블록 만들기 SPL-Duino 블록 편집기를 실행합니다.
Presentation transcript:

Chapter 10 예외 처리와 파일 입출력 01 예외 처리 02 표준 입출력 03 파일 입출력 예제 모음 요약 연습문제

이 장에서는 예외 처리에 대해 설명한 다음, 키보드와 화면에서 입력 및 출력을 하는 표준 입출력과 하드디스크에서 파일을 읽어오거나 저장해야 하는 파일 입출력을 살펴볼 것이다.

Section 01 예외 처리(1) 예외 처리(exception handling)는 오류가 발생할 경우 프로그래머가 작성한 부분이 실행되도록 try~catch로 준비하는 것 구문 오류

Section 01 예외 처리(2) 구문에 오류가 없는데 실행 시 오류가 발생하는 경우 오류가 발생하면 오류의 원인과 행 번호가 표시되는데, 그 구분을 클릭하면 오류가 발생한 행으로 커서가 이동함

Section 01 예외 처리(3) 예외 처리의 기본 형식 예외 타입 다음의 e는 변수로서 오류 내용이 여기에 포함 [그림 10-2]의 오류를 예외 처리로 코딩 해봄 [실습 10-1]

Section 01 예외 처리(4) [실습 10-1]은 [그림 10-2]와 같이 5행이 실행되는데 try{ }로 묶여 있다는 것이 다름. 만약 try{ } 안에서 오류가 발생하고 그 오류가 ArrayIndexOutOfBoundsException 오류에 해당한다면 catch{ } 내부를 수행. ArrayIndexOutOfBoundsException은 배열의 인덱스가 실제 크기보다 큰 경우에 발생하는 오류.

Section 01 예외 처리(5) 예외 처리의 전체 형식

Section 01 예외 처리(6)

Section 01 예외 처리(7) 7행의 ArithmeticException 클래스 타입의 변수 e에 대해 9행의 getMessage( ) 메소드로 오류 내용을 추출해서 출력. ‘/ by zero’ 오류 메시지.

저자 한마디 예외 타입의 종류 예외 타입은 클래스로서 서로 상속 관계이다. 다음은 자주 사용되는 예외의 상속 관계를 그림으로 나타낸 것이다. 예를 들어 RunTimeException 예외를 사용하면 ArithmeticException 등 그 아래의 예외가 모두 해당된다(상속은 이 책의 후반부에서 다룬다).

Section 01 예외 처리(8) 오류 메시지 직접 만들기

Section 02 표준 입출력(1) 표준 입력은 키보드로 입력하는 것, 주로 Scanner 클래스를 사용. 표준 출력은 화면에 출력하는 메소드를 사용하는데 대표적으로 System.out.printf( )를 사용

Section 02 표준 입출력(2) 표준 출력 : System.out.printf( )

Section 02 표준 입출력(3)

Section 02 표준 입출력(4) 표준 입력 : Scanner

Section 02 표준 입출력(5)

Section 02 표준 입출력(6)

Section 02 표준 입출력(7) 20행

Section 02 표준 입출력(8)

Section 02 표준 입출력(9) 하나의 문자 입력 : System.in.read( ) Enter를 누를 때까지 키를 입력받고 입력한 결과가 “hanbit”이면 통과하는 프로그램

Section 02 표준 입출력(10)

저자 한마디 이클립스의 자동 완성 기능 try~catch 문을 사용할 때 직접 코딩하여 오류를 처리할 부분을 묶어도 되지만, 이클립스에서는 자동으로 완성해주는 기능을 사용하면 더 편리하다. System.in.read( );를 입력하면 빨간 줄이 생기고 마우스를 가져가면 풍선 도움말이 나온다. 그중에서 [Surround with try/catch]를 선택하면 자동으로 try~catch 문으로 묶어준다. 상당히 편리한 기능이니 적극 활용하자.

Section 03 파일 입출력(1) 파일 입출력 메소드는 입력과 출력을 표준 입출력 장치가 아닌 파일로 처리하는 메소드 표준 입출력과 파일 입출력

저자 한마디 스트림(stream) 스트림은 데이터를 송수신하기 위한 통로의 개념으로서 입력 혹은 출력, 한쪽 방향으로만 진행된다. 스트림은 1바이트를 처리하는 바이트 스트림과 2바이트를 처리하는 문자 스트림으로 나뉜다. [그림 10-13]에서 FileInputStream, FileOutputStream은 바이트 스트림에 해당하고, BufferedReader, BufferedWriter,FileReader, FileWriter는 문자 스트림에 해당한다. 한글은 2바이트이므로 문자 스트림을 사용하는 것이 더 편리하다.

Section 03 파일 입출력(2) 파일 입출력의 기본 과정 ❶ 파일 열기(1단계) ❷ 파일 처리(2단계) 데이터를 쓰거나 파일로부터 데이터를 읽어올 수 있는 상태 ❸ 파일 닫기(3단계)

Section 03 파일 입출력(3) 파일을 이용한 입력 파일 입력과 표준 출력

Section 03 파일 입출력(4) 1바이트씩 읽어들이기 FileInputStream 클래스를 사용하면 파일의 내용을 1바이트씩 읽음. 1바이트씩 읽어오는 메소드는 read( ) 메모장을 실행하여 ‘File Read Sample입니다.’라는 문장을 한 줄 쓰고 파일명을 ‘c:\temp\data1.txt’로 하여 저장

Section 03 파일 입출력(5)

Section 03 파일 입출력(6) [실습 10-9]는 파일 처리의 핵심을 알려주는 예제이니 잘 익힘. 4행 : 파일을 읽을 때 발생될 예외 처리를 위해 throws Exception 문을 추가. 5행 : 입력을 위한 FileInputStream형의 fis 변수를 선언하면서 동시에 c:\temp\data1.txt 파일을 오픈. FileInputStream이 읽기 모드로 열림 8, 9행 : 파일의 끝까지 1바이트씩 읽음. 만약 파일의 끝을 만나면 read( ) 메소드가 -1을 반환하므로 while 문을 빠져나옴 11행 : 파일 사용이 끝났으므로 파일닫음. read( )는 1바이트씩 읽으므로 2바이트를 차지 하는 한글은 잘라서 읽고 바로 출력했기 때문에 깨짐 TIP : 파일 경로도 문자열이므로 폴더를 구분하기 위해 /를 사용한다면 하나만 넣어도 되 지만 \를 사용하려면 \\와 같이 2개를 넣어야 함

Section 03 파일 입출력(7)

Section 03 파일 입출력(8) 도스 명령어 type의 구현 [시작]→[모든 프로그램]→[보조 프로그램]→[명령 프롬프트]를 실행하거나 또는 [시작]→[실행]을 선택한 후 cmd 명령을 입력하여 명령 프롬프트를 오픈 프로그램 순서

Section 03 파일 입출력(9)

Section 03 파일 입출력(10)

Section 03 파일 입출력(11) Scanner를 활용한 파일 읽기 여러 줄에 숫자가 쓰인 파일의 합계를 내는 코드를 작성하기. 다음과 같이 다섯 줄의 숫자를 메모장에 쓰고 파일명을 ‘c:\temp\data2.txt’로 하여 저장

Section 03 파일 입출력(12)

Section 03 파일 입출력(13) 파일을 이용한 출력 표준 입력과 파일 출력

Section 03 파일 입출력(14) FileOutputStream을 이용하여 1바이트씩 파일에 쓰기 1바이트씩쓰는 write( ) 메소드를 사용

Section 03 파일 입출력(15) 5행 : 입력을 위한 FileOutputStream형의 fos 변수를 선언하면서 동시에 C:\temp\data3.txt 파일 오픈. FileOutputStream이 쓰기 모드로 열림 8, 9행 : 키보드로 1바이트씩 입력받는데, 만약 의 아스키코드인 13을 만나면 while 문을 빠져나옴. 읽어온 문자를 byte형으로 변환해서 파일에 씀 11행 : 파일의 사용이 끝났으므로 파일 닫음. 파일 탐색기에서 결과 파일을 확인해보면 잘 저장되어 있음

Section 03 파일 입출력(16) FileWriter를 이용하여 파일에 한 줄씩 쓰기 - 문자열을 직접 파일에 씀

Section 03 파일 입출력(17) 10행 : !(str = sc.nextLine( )).equals(“”) 부분은 sc.nextLine( )으로 키보드에서 한 행을 읽어 들이고 그 결과를 str에 저장. 그런데 그냥 enter를 누르면 “”만 반환되므로 str이 “” 와 같은지 비교해서 “”가 아닐(!) 경우 11행을 반복함

Section 03 파일 입출력(18) 도스 명령어 copy의 구현 [시작]→[모든 프로그램]→[보조 프로그램]→[명령 프롬프트]를 실행하거나 또는 [시작]→[실행]을 선택한 후 cmd 명령을 입력하여 명령 프롬프트를 오픈

Section 03 파일 입출력(19) copy 명령 구현을 위한 파일 입력과 파일 출력

Section 03 파일 입출력(20)

Section 03 파일 입출력(21)

Section 03 파일 입출력(22) 명령 프롬프트에서 실행할 때 파일 이름 입력받기 명령 프롬프트에서 다음과 같이 *.class 파일이 실행되도록 코드를 작성 JAVA 바이트코드(*.class)를 다음과 같은 형식으로 실행

Section 03 파일 입출력(23) [실습 10-15]를 수정

Section 03 파일 입출력(24)

저자 한마디 이클립스에서 명령 프롬프트의 파라미터 사용하기 [실습 10-16]을 이클립스에서 실행하면 배열의 인덱스 범위가 넘었다는 오류가 발생한다. 파라미터를 지정하지 않았는데 args 배열 파라미터에 접근했기 때문이다. 이클립스에서 main ( ) 메소드의 파라미터를 사용할 때는 실행 전에 파라미터를 지정해놓 아야 한다. 이클립스 메뉴 [Run]→[Run Configurations]를 선택하여 [Arguments] 부분에 명령 프롬프트에서 전달할 파라미터를 차례로 쓰고 [Run]을 클릭하면 명령 프롬프트와 동 일하게 실행된다.

저자 한마디