자바(Java) 파일 입출력 스트림(File I/O Stream)
자바에서 입출력은 모두 `스트림(stream)`의 개념이다. 이미 Java의 System.out.println()이라는 메소드를 빈번히 사용해왔는데 실상 여기서 out은 System 클래스에서 OutputStream의 서브클래스인 PrintStream 객체를 참조하는 static 변수이다. 마찬가지로 System.in.read()에서의 in도 InputStream 객체를 참조하는 static 변수다.
C언어에서 입출력 함수가 매우 풍부하듯이 자바에서도 입출력 관련 클래스가 매우 다양하다. C언어는 DOS모드에서 프로그래밍을 했기 때문에 프롬프트 상에서 값을 직접 입력 혹은 출력하는 작업이 상당히 세밀하며 용이했으나 자바는 이런 점에서 좀 불편한데, 그 이유는 더 이상 커맨드 프롬프트 상에서 프로그래밍을 하지 않기 때문이다.
즉, 윈도우즈 시스템에서 비주얼한 방식으로 프로그래밍을 하거나 웹이나 DB 등의 다른 작업에 자바기술을 연동하기 때문에 커맨드 상에서의 세밀한 입출력에 대한 고려를 하지 않아도 된다. 그래도 기본적인 개념이나 사용방법에 대해선 알아두는 것이 좋은데 특히 가장 대표적인 '파일 입출력'은 여전히 많이 쓰이고 있다.
파일 입출력에 사용되는 스트림 클래스는 FileInputStream과 FileOutputStream이다. 지시된 파일을 디스크 등의 저장장치에서 메모리로 읽어오거나 반대로 메모리에 작업된 파일을 디스크로 저장시키는 기능을 한다. 아래의 코드는 해당 파일명을 가진 파일을 읽어와서 바꿔준 파일명에 그대로 저장하는 기능을 가진다. 즉, 파일을 복사하는 코드다.
'ICT와 AI 정보' 카테고리의 다른 글
IT에 관한 `쥐대가리` 생각수준 (0) | 2010.04.16 |
---|---|
리눅스 디렉토리 구조 (0) | 2010.04.08 |
중국발 해킹 피해 (0) | 2010.03.27 |
자바로 MAC address 구해보기 (0) | 2010.03.18 |
Java로 윤년 알아보는 프로그램 (0) | 2010.03.16 |
C 언어로 만든 숫자 맞추기 일명 야구게임 (0) | 2010.03.15 |
매개변수와 리턴 값이 있는 함수, 없는 함수 (0) | 2010.03.14 |
매개변수 전달방식 (0) | 2010.03.13 |