본문 바로가기

분류 전체보기

(68)
그 외 입출력 클래스 File 클래스 File 클래스는 말그대로 파일이라는 개념을 추상화한 클래스입니다. 파일에 대한 입출력은 지금까지 배운 스트림을 사용하여 수행합니다. 따라서 File 클래스에 별도의 입출력기능은 없지만 파일 자체의 경로나 정보를 알 수 있고 파일을 생성할 수도 있습니다. File 클래스의 주요 생성자는 다음과 같습니다. 생성자 설명 File(String pathname) pathname을 매개변수로 받아 파일을 생성합니다. RamdomAccessFile 클래스 RamdomAccessFile은 입출력 클래스 중 유일하게 파일 입출력을 동시에 할 수 있는 클래스 입니다. 또한 지금까지 배운 스트림은 처음부터 차례로 자료를 읽었지만 RandomAccessFile은 임의의 위치로 이동하여 자료를 읽을 수 있습니..
직렬화 보호되어 있는 글입니다.
문자 단위 스트림 Reader 문자 단위로 읽는 스트림 중 최상위 스트림으로 다음 하위 클래스를 주로 사용합니다. 스트림 클래스 설명 FileReader 파일에서 문자 단위로 읽는 스트림 클래스 입니다. InputStreamReader 바이트 단위로 읽은 자료를 문자로 변환해 주는 보조 스트림 클래스 입니다. BufferedReader 문자로 읽을 때 배열을 제공하여 한꺼번에 읽을 수 있는 기능을 제공해 주는 보조 스트림 입니다. 다음과 같이 자료를 읽는 메소드를 제공합니다. 메소드 설명 int read() 파일로부터 한 문자를 읽습니다. 읽은 값을 반환합니다. int read(char[ ] buf) 파일로부터 buf 배열에 문자를 읽습니다. int read(char[ ] buf, int off, int len) 파일로부..
바이트 단위 스트림 OutputStream OutputStream 바이트 단위로 스는 스트림 중 최상위 스트림입니다. 자료의 출력 대상에 따라 다른 스트림을 제공합니다. 스트림 클래스 설명 FlieOutputStream 바이트 단위로 파일에 자료를 씁니다. ByteArrayOutputStream Byte 배열에 바이트 단위로 자료를 씁니다. FilterOutputStream 기반 스트림에서 자료를 쓸 때 추가 기능을 제공하는 보조 스트림의 상위 클래스 OutputStream에서 제공하는 메소드는 다음과 같습니다. 메소드 설명 void write(int b) 한 바이트를 출력합니다. void write(byte[ ] b) b[ ]배열에 있는 자료를 출력합니다. void write(byte b[ ], int off, int len) b[ ]배열에 있..
바이트 단위 스트림 InputStream Inputstream 바이트 단위로 읽는 스트림 중 최상위 스트림입니다. InputStream은 추상 메소드를 포함한 추상 클래스로서 하위 스트림 클래스가 상속받아 각 클래스 역할에 맞게 추상 메소드 기능을 구현합니다. 주로 사용하는 하위 클래스는 다음과 같습니다. 스트림 클래스 설명 FileInputStream 파일에서 바이트 단위로 자료를 읽습니다. ByteArrayInputStream Byte 배열 메모리에서 바이트 단위로 자료를 읽습니다. FilterInputStream 기반 스트림에서 자료를 읽을 떄 추가 기능을 제공하는 보조 스트림의 상위 클래스 입니다 InputStream은 바이트 자료를 읽기 위해 다음 메소드를 제공합니다. 메소드 설명 int read() 입력 스트림으로부터 한 바이트의 자..
표준 입출력 자바에서는 화면에 출력하고 입력받는 표준 입출력 클래스를 미리 정의해 두었습니다. 이 클래스는 프로그램이 시작될 떄 생성되므로 따로 만들 필요가 없습니다. 우리가 지금까지 화면 출력을 위해 사용한 System.out은 표준 출력을 위한 객체입니다. 표준 입출력은 콘솔화면에 입출력된다고 해서 콘솔 입출력이라고도 합니다. 표준 입출력을 위한 System 클래스는 다음과 같이 세 개의 변수를 가지고 있습니다. 자료형 변수이름 설명 static PrintStream out 표준 출력 스트림 static InputStream in 표준 입력 스트림 static OutPutStream err 표준 오류 출력 스트림 System.in 으로 화면에서 문자 입력받기 프로그램을 실행하면 입력을 받기 위해 커서가 기다리고 ..
예외 처리 미루기 예외 처리를 미루는 throws 사용하기 FileInputStream을 생성했을 때 예외 처리 방법은 두 가지 있었습니다. Srround with try/catch는 살펴보았스니, 이제 Add throws declaration에 대해 살펴보겠습니다. 그대로 번역하면 throws 선언을 추가한다는 의미인데, 예외를 해당 메소드에 처리하지않고 미룬 후 메소드를 호출하여 사용하는 부분에서 예외를 처리하는 방법입니다. 사용자 정의 예외 자바에서 제공하는 예외 처리 클래스 이외에 개발하는 프로그램에 따라 다양한 예외 상황이 발생할 수 있습니다. 예를 들어 어떤 사이트에 회원 가입을 할 때 입력하는 아이디 값이 null이어서는 안되고 8자 이상 20자 이하로 만들어야 하는 조건이 필요할 수 있습니다. 이런 조건을 ..
예외 클래스 오류와 예외 실행 오류는 크게 두 가지가 있는데, 하나는 자바 가상 머신에서 발생하는 시스템 오류(error)이고 다른 하나는 예외(exception)입니다. 시스템 오류의 예로는 사용 가능한 동적 메모리가 없는 경우나 스택 메모리의 오버플로가 발생한 경우 등을 들 수 있습니다. 이러한 시스템 오류는 프로그램에서 제어할 수 없습니다. 반면 '예외'는 프로그램에서 제어할 수 있습니다. 예외 처리하기 try-catch문 예외를 처리하는 가장 기본 문법인 try-catch문의 형식은 다음과 같습니다. try { 예외가 발생할 수 있는 코드 부분 } catch(처리할 예외 타입 e) { try 블록 안에서 예외가 발생했을 때 예외를 처리하는 부분 } try 블록에는 예외가 발생하는 상황을 만들고 그에 따른 예외..