본문 바로가기
IT관련/JAVA_자유 노트

[수업창작] 20-05-21(저장한파일을 글로벌클래스로 카운팅)

by XoX 2020. 5. 22.
728x90
개인적인 메모를 위해 작성된 글이므로 가벼운 참고용으로 봐주세요.

 

글로벌에 게시물수 카운팅하고

게시물 파일로 저장하기까지 완성(게시물 제목,내용 입력받는 건 생략)

 

package pair_program2;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.Scanner;
import com.fasterxml.jackson.core.JsonGenerationException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;

class Main{
	public static void main(String[] args) {
		ObjectMapper mapper = new ObjectMapper();
		Scanner scanner = new Scanner(System.in);
		Article article = new Article();
		article.setScanner(scanner);
		article.start();
		scanner.close();
		Global global = new Global(article.id);
		try {
			mapper.writeValue(new File("Global.txt"), global);
		} catch (JsonGenerationException e) {
			e.printStackTrace();
		} catch (JsonMappingException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}

class Global{
	public int lasArticleId;

	public Global(int lasArticleId) {
		super();
		this.lasArticleId = lasArticleId;
	}

	public Global() {
	}

	@Override
	public String toString() {
		return "Global [lasArticleId=" + lasArticleId + "]";
	}
}


class Article{
	int id = 0;
	Scanner scanner;
	public void setScanner(Scanner scanner) {
		this.scanner = scanner;
	}
	public void start() {
		doCommandHelp();
		while(true) {
			System.out.println("명령어 입력) ");
			int command = scanner.nextInt();
			scanner.nextLine();
			if(command==1) {
				doCommandAdd();
			}
			else if(command==2) {
				System.out.println("게시판을 종료합니다.");
				break;
			}
		}
	}
	public void doCommandHelp() {
		System.out.println("1) add");
		System.out.println("2) exit");
	}
	public void doCommandAdd() {
		 System.out.println("== 저장하기 시작 ==");
		 System.out.println("== 저장하기 끝 ==");
		 this.id = id + 1;
		 String memberJson = null;
		 try {
			 String fileName = this.id + ".txt";
			    OutputStream output = new FileOutputStream(fileName);
			    memberJson = this.getMemberJson();
			    output.write(memberJson.getBytes());
			    	System.out.println(memberJson);
			} catch (Exception e) {
		            e.getStackTrace();
			}
	}
	public String getMemberJson() {
			return String.format("{\"id\";%d}",id); 
		 }
}
728x90
반응형

댓글