2010년 12월 31일 금요일

자바 고수님들 캘린더 코드 대해 설명 좀 부탁 드리겠습니다. 캘린더에 대해서

자바 고수님들 캘린더 코드 대해 설명 좀 부탁 드리겠습니다. 캘린더에 대해서

캘린더 자바 고수님들 캘린더 코드 대해 설명 좀 부탁 드리겠습니다.


import java.io.*;
import java.util.*;

class ObjectReadTest {
public static void main main(String args[]) throws Exception {
Calendar calendar;
ObjectinputStream ois = new
 ObjectInputStream(new FileInputStream("tmp.txt"));
//tmp.txt 파일을 이용해서 객체 생성
calendar = (Calendar) ois.readObject();
//파일로 부터 객체를 읽어 Calendar 객체로 저장
System.out.println("파일로 부터 읽어온 날짜와 시간);
datePrint(calendar);
//인쇄 메소드를 호출
System.out.println("현재 날짜와 시간");
datePrint(Calendar.getInstance());
//실행시점의 날짜와 시간 정보를 가진 객체로 인쇄 메소드 호출
ois.close();
}
static void datePrint(Calendar calendar) {// 인쇄 메소드
 String months[] = {
 "1월", "2월", "3월", "4월",
 "5월", "6월", "7월", "8월".
 "9월", "10월", "11월", "12월"};

System.out.println("날짜 : ");
System.out.println(calendar.get(Calendar.YEAR) + "년");
System.out.println(months[calendar.get(calendar.MONTH)]);
System.out.println(" " + calendar.get(Calendar.DATE) + "일");

System.out.println("시간 : ");
System.out.println(calendar.get(Calendar.HOUR) + "시");
System.out.println(calendar.get(Calendar.MINUTE) + "분");
System.out.println(calendar.get(Calendar.SECOND) + "초"):
}
}

 

 

이 문장에서 주석 처리 가 되지 않은곳들

설명 좀 해주시면 감사하겠습니다.

예를 들어 여기서 이 메소드를 사용 하였는데 이것은

이것때문에 사용 하였다 이런식으루 부탁드립니다. ㅠ


캘린더정보모음추천 Rank사이트 보기
클릭하시면 캘린더관련 추천사이트에 대한 정보를 한눈에 쉽게 보실 수 있습니다.

















    [참고]     ObjectInputStream, ObjectOutputStream에 관련된 정보 블로그     http://blog.naver.com/galad?Redirect=Log&logNo=140027055624      [ 오류 수정 및 주석 추가]       import java.io.*;     import java.util.*;       class ObjectReadTest {          public static void main(String args[]) throws Exception { // main 메소드 명이 두개 .              // 루트 경로를 주지 않고 파일명만 사용하는 워크스페이스 경로에 "tmp.txt" 파일을 읽어옴.             ObjectInputStream ois = new ObjectInputStream(new FileInputStream("tmp.txt"));              // i 가 소문자로 표기되어 있었음.             /* tmp.txt 파일은 기계어 형태로 저장되어 있으며 그 기계어 형태로 저장된 것은 객체로써              * 직렬화 되어 있다.              * 객체로 저장된 파일의 정보를 읽어 Stream 에 담아두기 위한 객체를 생성한다. */             Calendar calendar = (Calendar) ois.readObject(); // 원본 소스에서 라인을 줄였습니다.            /* 파일로 부터 객체를 읽어 Calendar 타입의 객체로 선언             * readObject() 메소드를 이용해 객체를 불러온다. 그리고 이 객체는 Object로 업캐스팅이 되어             * 있기 때문에 해당 객체를 다운캐스팅를 하기 위해 Calendar 추상 클래스가 사용된 것임. */               System.out.println("파일로 부터 읽어온 날짜와 시간"); // 더블 쿼테이션이 빠졌음.             datePrint(calendar); // 인쇄 메소드를 호출             System.out.println("현재 날짜와 시간");             datePrint(Calendar.getInstance());             //실행시점의 날짜와 시간 정보를 가진 객체로 인쇄 메소드 호출             ois.close(); // 읽어드린 객체 정보를 갖고 있는 Stream 형 객체를 닫아 준다.       }        static void datePrint(Calendar calendar) {// 인쇄 메소드             String months[] = {                 "1월", "2월", "3월", "4월",                 "5월", "6월", "7월", "8월", // ← 쉼표이어야 하는데 마침표로 표기가 되어 있었음.                 "9월", "10월", "11월", "12월"};                   System.out.println("날짜 : ");                 System.out.println(calendar.get(Calendar.YEAR) + "년");                 /* Calendar.MONTH 에서 리턴되는 값은 0 ~ 11 까지 입니다.                  * 0 은 1월 , 1 은 2월 ....                  * 12 를 입력하면 오버플로우가 되어 1월을 표기하고 년수가 증가합니다. */                 System.out.println(months[calendar.get(calendar.MONTH)]);                 /*  Calendar.DATE 도 Calendar.MONTH 와 마찬가지로 0 ~ 31 까지 입니다                  *  0 은 1일, 1 은 2일 ...                  *  그 달에 30, 29 일이냐에 따라 오버플로우가 일어나고 결국 달수가 증가합니다.                  */                 System.out.println(" " + calendar.get(Calendar.DATE) + "일");                 System.out.println("시간 : ");                 System.out.println(calendar.get(Calendar.HOUR) + "시");                 System.out.println(calendar.get(Calendar.MINUTE) + "분");                 System.out.println(calendar.get(Calendar.SECOND) + "초"); // 세미콜론을 콜론으로 표기            }      }     [ 참고 : Calender 객체 저장 소스]       import java.io.*;     import java.util.*;       public class ObjectWriterTest {           public static void main(String[] args) throws Exception{              // 오브젝트로 외부 파일에 저장하기 위한 객체 생성           ObjectOutputStream oos = new ObjectOutputStream(                         new FileOutputStream("tmp.txt")                      );           //  시스템의 오늘 날짜를 기준으로 Calendar 객체를 생성한다.           Calendar calendar = Calendar.getInstance();              /* 현재 시스템의 날짜를 임의적으로 변경 */           calendar.set(Calendar.YEAR, 2009);           calendar.set(Calendar.MONTH, 0); // 1월           calendar.set(Calendar.DATE, 30);   // 31일              calendar.set(Calendar.HOUR, 12);  // 12시는 오버플로우 되어 0시로 표기됨.           calendar.set(Calendar.MINUTE, 20);           calendar.set(Calendar.SECOND, 30);              // Calendar 객체를 외부 파일에 저장           oos.writeObject(calendar);              // 저장 객체를 닫아 줌.          oos.close();            }   }



캘린더자바 고수님들 캘린더 코드 대해 설명 좀 부탁 드리겠습니다.
캘린더

댓글 없음:

댓글 쓰기