반응형
Exception 클래스
1. 자바의 각종 에러
Error
- 구문 에러
- 런타임 에러
- 논리 에러
- 시스템 에러
- 예외
2. Exception 클래스 개요
Exception클래스란?
- 예외사항을 처리하기 위해 모델링된 클래스이다.
- java.lang.Throwable 클래스의 하위 클래스이다.
Exception클래스 사용법
- 프로그램 실행 중 예외가 발생되면 자바가상머신은 예외를 나타내는 Exception 클래스의 객체를 생성하여 프로그램으로 넘기게 된다.
- 예외를 발생시킨 프로그램이 예외객체를 catch하여 처리하게 된다.
- 예외처리를 하지 않은 상태에서 예외가 발생되면 프로그램이 중지된다.
메소드 | 내용 |
Exception | 모든 예외클래스의 최상위 클래스 |
ArithmeticException | (연산오류) : 프로그램 실행 중에 연산 과정에서 0으로 나누는 연산이 일어나면 발생된다. |
NullPointerException | 객체(클래스의 인스턴스)가 생성되지 않았는데도 객체를 참조하려할 경우 발생된다. |
IOException | 입출력 동작에 문제가 생겼을 경우 발생된다. |
FileNotFoundException | 파일에 접근했는데 해당 파일이 존재하지 않을 경우 발생된다. |
SocketException | 네트워크 프로그램에서 소켓에 이상이 생겼을 경우 발생된다. |
3. try/catch 예외 처리
try/catch 예외 처리
- 프로그램 실행 중에 예외가 발생되면 자바가상머신이 예외객체를 던지게 되는데 이를 프로그램에서 받아서 처리하는 구문이다.
- try : 예외발생 가능성이 있는 구문
- catch : 예외 처리 구문
- finally : 예외와 관련 없이 반드시 처리해야 할 구문 (생략가능)
4. 예제
예외처리를 하지 않은 경우
예외처리를 한 경우
입출력 스트림
1. 스트림 개요
스트림이란?
- 데이터의 연속적인 흐름으로써 입력 스트림과 출력스트림으로 나뉨
입력 스트림
- 데이터 소스로부터 데이터를 읽는 경우에 대한 데이터의 흐름이다.
출력 스트림
- 목적지로 데이터를 보내는 경우에 대한 데이터의 흐름이다.
2. 입력 스트림 클래스
InputStream 계열
- InputStream
- FilterInputStream
- DataInputStream
- FileInputStream
- BufferedInputStream
Reader 계열
- Reader
- BufferedReader
- InputStreamReader
- FileReader
InputStream 클래스와 Reader 클래스의 주요 메소드
메소드 | 내용 |
int read(0 | 스트림으로부터 1바이트를 읽어 바이트 값으로 반환한다. |
int read(byte[] b) | 준비된 배열에 스트림으로부터 데이터를 바이트 단위로 읽어 들여 바이트 값으로 저장한다. |
int read(char[] c) | 준비된 배열에 스트림으로부터 데이터를 문자 단위로 읽어 들여 문자 값으로 저장한다. |
int available() | 해당 스트림에서 지연되지 않고 읽어 들일 수 있는 바이트의 수를 반환한다. |
void close() | 해당 스트림과 관련된 자원들(일반적으로 프로그램 실행에 사용되었던 메모리)이 해제된다. |
3. 예제
4. 출력 스트림
OutputStream 계열
- OutputStream
- FilterOutputStream
- DateOutputStream
- FileOutputStream
- BufferedOutputStream
Writer 계열
- Writer
- BufferedWriter
- OutputStreamWriter
- FileWriter
5. 출력 스트림 클래스
OutputStream 클래스와 Writer 클래스의 주요 메소드
메소드 | 내용 |
void write(byte[] b) | 버퍼에 들어 있는 바이트 배열을 출력한다. |
void write(char[] c) | 버퍼에 들어있는 문자배열을 출력한다. |
void writer(String str, int off, int len) | 버퍼에 들어있는 문자열을 off 위치에서부터 len 개수만큼 출력한다. |
File 클래스
1. File 클래스
File 클래스 개요
- 자바 언어는 플랫폼 독립적이므로 파일 시스템이 서로 다른 운영체제에서 동일한 방식으로 파일처리가 가능하도록 클래스가 제공된다.
- 일관된 방식으로 파일 처리가 가능하도록 한다.
- 파일의 정보만을 취급하여 파일 내용(파일명, 파일경로, 마지막으로 수정된 시간, 파일 길이, 파일 또는 디렉토리 여부)에 대한 처리는 입출력 스트림이나 뒤에 다룰 RandomAccessFile 클래스에서 담당한다.
File 클래스 생성자
- File(String name) : 파일의 경로를 인자로 받아 File 객체 생성
- File(File dir, String name) : 디렉토리 File 객체와 문자열로 구성된 파일명을 인자로 받아 File 객체 생성
- File(String dir, String name) : 문자열로 구성된 디렉토리 명과 파일명을 인자로 받아 File 객체 생성
File 클래스의 주요 메소드
주요 메소드 | 내용 |
String getName() | 경로를 제외한 파일명을 반환 |
String getAbsolutePath() | 파일의 절대경로를 반환 |
String getPath() | 파일의 경로를 반환 |
long length() | 파일의 길이를 바이트 단위로 반환 |
boolean exists() | 파일이 존재하는지의 여부를 반환 |
boolean isDirectory() | 파일 클래스가 디렉토리일 경우 true 반환 |
boolean mkdir() | 디렉토리를 생성하고 성공 여부 반환 |
boolean delete() | 파일을 삭제하고 성공 여부 반환 |
2. RandomAccessFile 클래스
RandomAccessFile 클래스 개요
- 입출력 스트림은 파일 내용을 순차적으로만 처리 가능하다.
- 파일의 임의의 위치에 직접 접근이 가능한 클래스이다.
RandomAccessFile 클래스 생성자
- RandomAccessFile(String n, String m) : 파일명과 읽기쓰기 모드를 인자로 하여 객체 생성
- RandomAccessFile(File f, String m) : 파일 객체와 읽기쓰기 모드를 인자로 하여 객체 생성
RandomAccessFile 클래스의 주요 메소드
주요 메소드 | 내용 |
long getFilePointer() | 파일 포인터(파일 내에서 현재 제어되고 있는 부분)의 위치를 반환 |
void seek(long pos) | 인자가 지정한 위치로 파일 포인터를 이동 |
int read() | 현재 파일 포인터에서 내용을 읽어냄 |
final String readLine() | 현재의 파일 포인터에서 한 라인을 읽어냄 |
void write(byte b[]) | 현재의 파일 포인터에서 바이트 배열을 쓰기함 |
long length() | 파일의 길이를 바이트 단위로 반환 |
void close() | 파일 객체 닫기 |
반응형
'Develop > Java' 카테고리의 다른 글
JAVA 데이터베이스 프로그래밍 (0) | 2021.08.09 |
---|---|
JAVA 네트워크 프로그래밍 (0) | 2021.08.09 |
JAVA 애플릿 구조 및 프로그래밍 (0) | 2021.08.09 |
JAVA 멀티스레드 제어와 메소드 (0) | 2021.08.09 |
JAVA 그래픽 구조, 그래픽 메소드 (0) | 2021.08.09 |