프로그램이 처음 시작될때 obsave.txt  의 오브젝트 파일을 읽어서 바로 한줄게시판식으로 글을 남길수 있도록 했습니다.



현재 메인함수를 실행시켜 하는 모습... 처음에 3개의 게시물은 오브젝트에서 실행할때 자동으로 불러들여졌음.
       또한 3번 종료시에 자동으로 오브젝트 파일이 그대로 obsave.txt에 저장됨.





   코드는 다음과 같고, 실행을 직접 해보시려면 첨부파일을 다운받아 이클립스로 실행시키세요.

// BoardMain.java

package board; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.EOFException; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class BoardMain { // private static final int POST = 1; private static final int WRITE = 1; private static final int DELET = 2; private static final int EXIT = 3; List<Post> posts = new ArrayList<Post>(); public static void main(String[] ar) { new BoardMain().board(); } private void board() { openPage(); while (true) { show(); menu(); } } private void openPage() { File fl = new File("Obsave.txt"); try { FileInputStream fis = new FileInputStream(fl); BufferedInputStream bis = new BufferedInputStream(fis); ObjectInputStream ois = new ObjectInputStream(bis); Object obj = null; posts.clear(); while (true) { try { obj = ois.readObject(); } catch (EOFException e) { break; } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } Post q = (Post) obj; posts.add(q); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } private void show() { int i = 1; System.out .println("┌───────┬──────────────────┬──────────────────────────────────"); System.out.println("│ no │ name │ story"); System.out .println("├───────┼──────────────────┼──────────────────────────────────"); for (Post a : posts) { System.out.println("│ " + i + " │ " + a.getName() + " │ " + a.getStory()); i++; } System.out .println("└───────┴──────────────────┴──────────────────────────────────"); } // public void printMain(){ // System.out.println(" " + Subject + " " + Name ); // } private void menu() { System.out.print("1. 글 쓰기 // 2. 글 삭제 // 3. 게시판 종료 ** Select : >> "); ActionCorrector(inputSelect()); } private void ActionCorrector(int inputSelect) { switch (inputSelect) { // case POST: // postread(); // break; case WRITE: postwrite(); break; case DELET: selectDelet(); break; case EXIT: obSave(); System.exit(0); break; } } private void obSave() { File fl = new File("Obsave.txt"); try { FileOutputStream fos; fos = new FileOutputStream(fl); BufferedOutputStream bos = new BufferedOutputStream(fos); ObjectOutputStream oos = new ObjectOutputStream(bos); for (Post q : posts) { oos.writeObject(q); } oos.close(); } catch (FileNotFoundException e) { } catch (IOException e) { e.printStackTrace(); } } private void selectDelet() { System.out.print("삭제할 번호를 써주세요 : >>"); Scanner sc = new Scanner(System.in); posts.remove(Integer.parseInt(sc.nextLine()) - 1); } // private void postread() { // // Scanner sc = new Scanner(System.in); // System.out.print("글 번호를 입력하세요 :"); // int select = sc.nextInt(); // // // } private void postwrite() { Scanner sc = new Scanner(System.in); Post ps = new Post(); System.out.println(); System.out.print("글쓴이 : "); ps.setName(sc.nextLine()); System.out.println(); System.out.print("내용 : "); ps.setStory(sc.nextLine()); System.out.println(); posts.add(ps); } private int inputSelect() { Scanner sc = new Scanner(System.in); return sc.nextInt(); } }

 //  BoardMain.java

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.EOFException;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
 
public class BoardMain {
    // private static final int POST = 1;
    private static final int WRITE = 1;
    private static final int DELET = 2;
    private static final int EXIT = 3;
    List<Post> posts = new ArrayList<Post>();
 
    public static void main(String[] ar) {
        new BoardMain().board();
    }
 
    private void board() {
        openPage();
        while (true) {
            show();
            menu();
        }
 
    }
 
    private void openPage() {
        File fl = new File("Obsave.txt");
 
        try {
            FileInputStream fis = new FileInputStream(fl);
            BufferedInputStream bis = new BufferedInputStream(fis);
            ObjectInputStream ois = new ObjectInputStream(bis);
            Object obj = null;
            posts.clear();
            while (true) {
                try {
                    obj = ois.readObject();
                } catch (EOFException e) {
                    break;
                } catch (ClassNotFoundException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                Post q = (Post) obj;
                posts.add(q);
 
            }
 
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
 
    }
 
    private void show() {
        int i = 1;
        System.out
                .println("┌───────┬──────────────────┬──────────────────────────────────");
        System.out.println("│  no │ name    │         story");
        System.out
                .println("├───────┼──────────────────┼──────────────────────────────────");
        for (Post a : posts) {
            System.out.println("│  " + i + " │ " + a.getName() + "    │ "
                    + a.getStory());
 
            i++;
        }
        System.out
                .println("└───────┴──────────────────┴──────────────────────────────────");
 
    }
 
    // public void printMain(){
    // System.out.println(" " + Subject + " " + Name );
    // }
 
    private void menu() {
        System.out.print("1. 글 쓰기 // 2. 글 삭제 // 3. 게시판 종료  ** Select : >> ");
 
        ActionCorrector(inputSelect());
    }
 
    private void ActionCorrector(int inputSelect) {
        switch (inputSelect) {
        // case POST:
        // postread();
        // break;
        case WRITE:
            postwrite();
            break;
        case DELET:
            selectDelet();
            break;
        case EXIT:
            obSave();
            System.exit(0);
            break;
        }
    }
 
    private void obSave() {
        File fl = new File("Obsave.txt");
        try {
            FileOutputStream fos;
            fos = new FileOutputStream(fl);
            BufferedOutputStream bos = new BufferedOutputStream(fos);
            ObjectOutputStream oos = new ObjectOutputStream(bos);
 
            for (Post q : posts) {
 
                oos.writeObject(q);
            }
            oos.close();
 
        } catch (FileNotFoundException e) {
 
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
 
    private void selectDelet() {
 
        System.out.print("삭제할 번호를 써주세요 : >>");
        Scanner sc = new Scanner(System.in);
        posts.remove(Integer.parseInt(sc.nextLine()) - 1);
    }
 
    // private void postread() {
    //   
    // Scanner sc = new Scanner(System.in);
    // System.out.print("글 번호를 입력하세요 :");
    // int select = sc.nextInt();
    //   
    //   
    // }
 
    private void postwrite() {
        Scanner sc = new Scanner(System.in);
        Post ps = new Post();
 
        System.out.println();
        System.out.print("글쓴이 : ");
        ps.setName(sc.nextLine());
        System.out.println();
        System.out.print("내용 : ");
        ps.setStory(sc.nextLine());
        System.out.println();
 
        posts.add(ps);
 
    }
 
    private int inputSelect() {
        Scanner sc = new Scanner(System.in);
        return sc.nextInt();
    }
}
 //  Post.java
package board;
 
import java.io.Serializable;
 
public class Post implements Serializable{
 
    String Name;
    String Story;
    String Subject;
 
    public void setName(String nextLine) {
        this.Name = nextLine;
       
    }
 
    public void setStory(String nextLine) {
        this.Story = nextLine;
    }
 
    public String getName() {
        return Name;
    }
 
    public String getStory() {
        return Story;
    }
 
 
}


 

코드 다운로드 : PostBoard.zip


저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

'STUDY > Java' 카테고리의 다른 글

[JAVA] 자바 한줄 게시판  (0) 2010.09.05
[JAVA] 달력 출력  (0) 2010.01.14
[java] 자바 환경 변수 등록  (0) 2010.01.06

Comment

[JAVA] 달력 출력

STUDY/Java 2010.01.14 15:29

년 월을 입력하면 달력이 그대로 출력

 

 


import java.io.*;
 
 
 
public class pro_005a {
    public static void main(String[] ar) throws IOException {
        BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
 
        int b = 0, c = 0, num1 = 0, num2 = 0;
 
        String str = " ";
 
        System.out.printf("1. 년도를 4자리로 입력하세요<예 : 2010> : ");
        str = in.readLine();
 
        int year = Integer.parseInt(str);
 
        System.out.printf("2. 월을 입력하세요 <예 : 6> : ");
        str = in.readLine();
 
        int month = Integer.parseInt(str);
       
        int day = 1, sum = 0, week = 0;
        int j = 0, i = 0;
        int neryo = 0, jinzza = 0;
 
        for (i = 1; i < year; i++) {
            sum += 365;
            if (i % 4 == 0 && i % 100 != 0 || i % 400 == 0)
                sum += 1;
        }
        for (i = 1; i < month; i++) {
            j = i;
            if (j == 1 || j == 3 || j == 5 || j == 7 || j == 8 || j == 10 || j == 12)
                j = 31;
            else if (j == 2) {
                j = 28;
                if (year % 4 == 0 && year % 10 != 0 || year % 400 == 0)
                    j += 1;
            } else
                j = 30;
            sum += j;
        }
        sum += day;
        week = sum % 7;
         /*
 
          * week 이 다음 숫자이면... 해당 月의 1일은
 
          * 0  1  2   3  4  5  6
 
          * 일  월  화  수  목  금  토
 
          */
        if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12)
            jinzza = 31;
        else if (month == 2) {
            jinzza = 28;
        if (year % 4 == 0 && year % 10 != 0 || year % 400 == 0)
            jinzza += 1;
        } else
            jinzza = 30;
       
        System.out.println("=================< " + year + "년 " + month + "월 >====================");
        System.out.println("일 월 화 수 목 금 토 ");
       
        for (int e = 0; e < week; e++) {
            System.out.printf(" ");
            neryo++;
        }
 
        for (int q = 1; q <= jinzza; q++) {
            System.out.printf("%2d ", q);
            neryo++;
            if (neryo == 7) {
                System.out.printf(" ");
                neryo = 0;
            }
        }
    }
 
}


신고
크리에이티브 커먼즈 라이선스
Creative Commons License

'STUDY > Java' 카테고리의 다른 글

[JAVA] 자바 한줄 게시판  (0) 2010.09.05
[JAVA] 달력 출력  (0) 2010.01.14
[java] 자바 환경 변수 등록  (0) 2010.01.06

Comment


자바 설치 후 윈도우 환경변수 등록을 해야됨.

 
1. 윈도우키(시작키) + Pause 키를 눌러서 시스템등록정보를 킨다.
   ㄱ. xp 인 경우
   
 
   ㄴ. vista 혹은 window7 인 경우
 
   window vista 혹은 window 7 인 경우 윈도우키+pause 키를 눌렀을때 위와 같은 창이 뜨는데 고급시스템설정을 클릭한다
 
 
2. 환경변수에 들어가서 시스템 변수를 새로 추가한다.
 
 
3. 새 시스템 변수에 CLASSPATH 를 등록한다.
 
 
변수이름(N) : CLASSPATH
변수 값       : .;%JAVA_HOME%\lib\tools.jar 
 
 
4. 같은 방법으로 새 시스템 변수에 JAVA_HOME 를 등록한다.
 
변수이름(N) : JAVA_HOME
변수 값       : C:\program files\Java\jdk1.6.0_17
 
여기서 변수값은 jdk가 설지된 경로를 적어야된다. 설치경로를 따로 설정하지 않고 깔경우, c:\program files\java 안에 저장된다.
 
 
5. 마지막으로 시스템변수 path의 값을 수정한다. path 는 대부분 있기때문에 찾아서 편집을 하도록 한다.(없을병우 전과 동일하게 추가하는 방법으로 한다.)
 
 
편집버튼을 눌러서 변수값 뒤에 추가로 써준다.
 
변수이름(N) : Path
변수 값       : %JAVA_HOME%\bin; 
 
여기서 추가로 적을때 앞과 다른 변수이므로 " ; "(세미콜론)으로 그어준다.
 
 
6. 환경변수창을 확인누르고 시스템등록정보에서도 확인을 누른후 창을 다 없앤다 - ㅁ - ;;
 
 
7. 실행창을 띠운 후 ' cmd '(도스) 를 실행시킨다.(시작키 + R 을 누러도 되고, 왼쪽하단 시작버튼을 눌러서 실행에 들어가도 된다.)
 
 
8. java가 깔린것을 확인하기 위해 java를 쳐본다. 다음과 같이 나와야 환경변수가 재대로 설정된 것 이다.
 
 
9. 마찬가지로 같은 방법으로 javac를 쳐본다. 이것도 또한 다음과 같이 나와야 환경변수가 재대로 설정된 것 이다.
 
 
10. 환경변수 설정 끝 !!
 
 
 
만약 ! 다음과 같이 javac나 java가 실행되지 않을경우 환경변수를 설정할때 철자 혹은 변수 설정에서 실수한것이다.
 
 
 

 
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

'STUDY > Java' 카테고리의 다른 글

[JAVA] 자바 한줄 게시판  (0) 2010.09.05
[JAVA] 달력 출력  (0) 2010.01.14
[java] 자바 환경 변수 등록  (0) 2010.01.06

Comment



티스토리 툴바