본문 바로가기

JAVA/입출력 스트림과 파일 입출력

(5)
05. 파일 복사 응용프로그램 작성 파일 입출력 스트림의 응용으로 파일을 복사하는 프로그램 작성에 대해 소개합니다. 파일은 문자들로 이루어진 텍스트 파일과 이미지나 오디오 혹은 그래픽 등 바이너리 코드로 이루어진 바이너리 파일로 나뉜다. 바이너리 파일은 바이트 스트림으로 읽고 써야 정확하게 복사가 이루어진다. 그러나 텍스트 파일은 문자 스트림이나 바이트 스트림 둘 다 사용해도 복사에 문제가 없다. 텍스트 파일 복사 문자 스트림을 이용하여 텍스트 파일을 복사한다. FileReader를 이용하여 text 파일을 읽고, FileWriter로 텍스트 파일에 복사한다. 파일 경로명은 File 객체를 이용한다. 이미지 파일이나 워드, ppt, hwp 파일 등은 복사할 수 없다. 바이너리 파일 복사 바이트 스트림을 이용하여 바이너리 파일을 복사한다. ..
04. File 클래스 File클래스가 뭔데요? File 클래스는 파일이나 디렉터리에 대해, 경로명, 파일크기, 파일타입, 파일수정날짜 등 파일에 관한 속성 정보를 제공하고, 파일삭제, 디렉터리 생성, 파일이름 변경, 디렉터리 내의 파일 리스트 제공 등 파일 관리 작업을 지원한다. File클래스에는 파일 입출력 기능은 없으며, FileInput/OutputStream, FileReader/Writer 등 파일 입출력 클래스를 이용해야 한다. File 객체 생성 File 객체는 생성자를 이용하여 생성한다. File f = new File ("c:\\temp\\test.txt"); File 객체는 다음과 같이 스트림 생성 시 생성자에 파일 경로명을 전달하기 위해 이용된다. FileReader fr = new FileReader(f..
03. 바이트 스트림과 바이너리 파일 입출력 바이트 스트림은 바이트 단위의 바이너리 데이터가 흐르는 스트림이다. 이미지나 동영상 파일을 읽고 쓰기 위해서는 반드시 바이트 스트림을 이용해야 한다. 바이너리 파일 입출력을 위한 대표적인 스트림 클래스는 FileInputStream/ FileOutputStream 이다. 바이너리 파일 쓰기 프로그램 내의 변수나 배열에 들어 있는 바이너리 값을 그대로 파일에 저장할 필요가 있다. 예를 들면 이미지 버퍼를 그대로 이미지 파일에 기록하는 경우이다. 변수의 바이너리 값이 기록된 바이너리 파일은 사람이 읽고 쉽게 해석할 수 없다. 변수나 배열을 그대로 c:\temp\test.out 파일에 기록하는 예를 알아보자. - 파일 출력 스트림 생성 : c:\temp\test.out에 바이너리를 기록하는 출력 스트림을 생성..
02. 문자 스트림과 텍스트 파일 입출력 문자 스트림은 문자를 단위로 다루는 스트림으로, 문자가 아닌 바이너리 값들은 제대로 처리하지 못한다. 텍스트 파일은 문자로만 구성된 파일로서, 텍스트 파일을 읽고 쓰기 위해서는문자 입출력 시스템을 사용해야 한다. 문자 스트림 파일 입출력 클래스인 FileReader/FileWriter를 이용해서 텍스트 파일을 읽고 쓰는 방법에 대해서 알아봅시다. 텍스트 파일 읽기 - 파일입력 스트림 생성 ( 파일 열기) : 파일을 읽기 위해, 우선 파일 입력 스트림을 생성하고 파일과 연결한다. FileReader fin = new FileReader("c:\\test.txt"); FileReader의 생성자는 스트림 객체를 생성한 후 c:\test.txt 파일을 찾아 열고, 파일과 스트림을 연결한다. - 파일 읽기 : ..
01. 자바의 입출력 스트림 입출력 스트림이 뭔데? 자바에서 입출력 스트림은 응용프로그램과 입출력장치를 연결하는 소프트웨어 모듈로, 입출력 장치와 응용프로그램 사이에서 데이터가 순서대로 전송되도록 한다. 스트림의 양끝에는 응용프로그램과 장치가 연결되므로, 응용프로그램은 키보드나 스크린에 직접 입출력할 필요 없이, 입출력 스트림 객체를 생성하고 스트림을 통해 쉽게 입출력할 수 있다. 자바에서는 입력스트림과 출력스트림으로 나누어지며, 입출력을 동시에 하는 스트림은 없다. 스트림 입출력의 기본 단위는 바이트이며, 선입선출 방식으로 들어오는 순서대로 전달한다. 바이트 스트림과 문자 스트림 자바에서 입출력 스트림은 문자스트림과 바이트스트림으로 나눈다. 문자스트림은 문자만 다룰 수 있기 때문에 문자가 아닌 데이터가 문자 출력 스트림에 출력되면..