시소당
1. 예제 소스 환경 : Tomcat 5.0, JDK1.6.0
1. File (파일과 디렉토리)
1) 현재 컴퓨터의 "c:/My Utilities" 디렉토리에 관한 정보를 제공한다. 디렉토리에 있는 파일들과 하위 디렉토리에 관한 정보를 출력한다.
·미리보기 | 소스복사·
- import java.io.File;
-
- public class FileDirDemo1 {
-
- public static void main(String args[]) {
- String directory = "c:/My Utilities";
- File fl = new File(directory);
-
- if(fl.isDirectory()) {
- System.out.println("검색 디렉토리 : "+directory);
- System.out.println("=================================");
- String s[] = fl.list();
- for(int i=0; i<>
- File f = new File(directory + "/" + s[i]);
- if(f.isDirectory()) {
- System.out.println(s[i]+" : 디렉토리");
- } else {
- System.out.println(s[i]+" : 파일");
- }
- }
- } else {
- System.out.println("지정한 "+ directory +"는 디렉토리가 아님");
- }
- }
-
- }
2) "c:/My Utilities" 파일에 관한 정보를 출력한다. File 클래스에서 제공하는 메소드를 사용하여 파일과 관련된 정보를 출력한다.
·미리보기 | 소스복사·
- import java.io.File;
-
- public class FileDirDemo2 {
- static void p(String s) {
- System.out.println(s);
- }
-
- public static void main(String sgrs[]) {
- File fl = new File("c:/My Utilities");
-
- p("파일 이름 : " + fl.getName());
- p("파일 경로 : " + fl.getPath());
- p("절대 경로 : " + fl.getAbsolutePath());
- p(fl.exists() ? "파일 존재" : "파일 없슴");
- p(fl.canWrite() ? "수정 가능" : "수정 불가능");
- p(fl.canRead() ? "읽기 가능" : "읽기 불가능");
- p(fl.isDirectory() ? "디렉토리" : "디렉토리아님");
- p(fl.isFile() ? "파일" : "파일 아님");
- p(fl.isAbsolute() ? "절대 경로" : "상대 경로");
- p("1970년 1월 1일부터 파일이 마지막 수정된 날짜까지의 밀리초 : " + fl.lastModified());
- p("파일의 크기 : " + fl.length() + " Bytes");
- }
- }
2. FileWriter 클래스와 FileReader 클래스
문자열을 파일로 저장하고, 저장된 파일을 읽어들여 화면에 파일의 내용을 출력하는 프로그램이다. 첫번째 프로그램은 실행명령의 매개
변수로 파일이름을 받아 파일을 생성하고 파일에 문자열을 출력한다. 두 번째 프로그램은 실행 명령의 매개변수로부터 파일이름을
받아들여 파일을 열고 파일의 내용을 읽어 화면에 출력하는 프로그램이다.
·미리보기 | 소스복사·
- import java.io.FileWriter;
-
- public class FileWriterDemo {
- public static void main(String args[]) throws Exception {
- String source = "어른이 되어서야 진정한 돈의 가치를 알게 되었는데n"
- + "만약 좋아하는 사람에게 어떤일이 생겼을때n"
- + "아무것도 생각하지 말고 잠시 쉬라고 말할 수 있을 정도는n"
- + "왠지 가지고 싶잖아n";
-
- char intxt[] = new char[source.length()];
- source.getChars(0, source.length(), intxt, 0);
-
-
- FileWriter fw = new FileWriter("c:/FileWriterDemo.txt");
- fw.write(intxt);
-
- fw.close();
- }
- }
·미리보기 | 소스복사·
- import java.io.FileReader;
-
- public class FileReaderDemo {
- public static void main(String args[]) throws Exception {
-
- FileReader fr = new FileReader("c:/FileWriterDemo.txt");
-
- int i;
- while((i = fr.read()) != -1) {
- System.out.print((char)i);
-
- }
- fr.close();
- }
- }
3. BufferedWriter 클래스와 BufferedReader 클래스 위의 FileWriter 클래스와 FileReader 클래스의 예제를 BufferedWriter 클래스와 BufferedReader 클래스를 이용하여 재작성하였다.
·미리보기 | 소스복사·
- import java.io.BufferedWriter;
- import java.io.FileWriter;
-
- public class BufferedWriterDemo {
- public static void main(String args[]) throws Exception {
- String source = "사람들은 저마다 무한한 수의 상자를 가지고 있다.n"
- + "하지만 그 모든 상자들을 열어보기엔 인간의 생은 너무나 짧다.n"
- + "만약 누군가 옆에 있어준다면, 단지 옆에만 있어준다면n"
- + "그리고 함께 싸워줄 수만 있다면... 그런 사람이 있다면...n";
- char intxt[] = new char[source.length()];
- source.getChars(0, source.length(), intxt, 0);
-
- FileWriter fw = new FileWriter("c:/BufferedWriterDemo.txt");
- BufferedWriter bw = new BufferedWriter(fw);
-
-
- bw.write(intxt);
-
- bw.close();
- }
- }
·미리보기 | 소스복사·
- import java.io.BufferedReader;
- import java.io.FileReader;
-
- public class BufferedReaderDemo {
- public static void main(String args[]) throws Exception {
- FileReader fr = new FileReader("c:/BufferedWriterDemo.txt");
- BufferedReader br = new BufferedReader(fr);
-
- String s;
- while((s = br.readLine()) != null) {
- System.out.println(s);
-
- }
- br.close();
- }
- }
4. PrintWriter 클래스 PrintWriter 객체를 생성한 다음 print(), println() 두 개의 메소드를 사용하여 다양한 데이터를 출력하는 프로그램이다.