본문 바로가기

수업관련

jackson --

package json;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Scanner;

import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;

//import java.io.FileOutputStream;
//import java.io.OutputStream;

public class Main {

	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);

		Board board = new Board();

		board.setScanner(scanner);
		board.start();
	}
}

class Board {
	Scanner scanner;

	Member[] members;
	int membersLastIndex;
	Object objects = null;

	Board() {
		members = new Member[10];
		membersLastIndex = 0;
	}

	void start() {
		shwCmd();
		while (true) {
			System.out.printf("명령 ) ");
			String cmd = scanner.next().trim();

			if (cmd.equals("1")) {
				scanner.nextLine();
				doCmdSave();
			} else if (cmd.equals("2")) {
				scanner.nextLine();
				doCmdLoad();

			} else if (cmd.equals("3")) {
				doCmdPrint(objects);
			}
		}
	}

	void doCmdPrint(Object objects) {
	//	System.out.println(objects);
		
		JSONObject jsonObject = (JSONObject) objects;
		try {

			String id = (String) jsonObject.get("id");
			String regDate = (String) jsonObject.get("regDate");
			String loginId = (String) jsonObject.get("loginId");
			String loginPw = (String) jsonObject.get("loginPw");

			System.out.println("id:" + id);
			System.out.println("regDate:" + regDate);
			System.out.println("loginId:" + loginId);
			System.out.println("loginPw:" + loginPw);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	void doCmdLoad() {
		JSONParser parser = new JSONParser();
		System.out.println("==불러오기 시작==");
		System.out.print("번호 : ");
		int num = scanner.nextInt();
		try {
			Object obj = parser.parse(new FileReader("C:\\Users\\danny\\OneDrive\\바탕 화면\\workspace" + num + ".json"));

			System.out.println("==불러오기 끝==");
			objects = obj;
		} catch (IOException | ParseException e) {
			e.printStackTrace();
		} finally {
		}

	}

	@SuppressWarnings("unchecked")
	void doCmdSave() {
		System.out.printf("로그인 아이디 : ");
		String loginId = scanner.nextLine();
		System.out.printf("로그인 비번 : ");
		String loginPw = scanner.nextLine();
		int id = membersLastIndex + 1;
		String regDate = getRegDate();

		membersLastIndex++;

		Member member = new Member();
		member.id = id;
		member.regDate = regDate;
		member.loginId = loginId;
		member.loginPw = loginPw;

		members[membersLastIndex] = member;

		System.out.printf("%d.txt 파일이 생성되었습니다.%n", id);
		String idstr = Integer.toString(member.id);

		JSONObject data = new JSONObject();
		
		data.put("id", idstr);
		data.put("regDate", member.regDate);
		data.put("loginId", member.loginId);
		data.put("loginPw", member.loginPw);

		//String str = data.toJSONString();

		// String fileName = "C:\\Users\\SBS-\\Desktop\\danny\\"+member.id+".txt";
		try {
			FileWriter dn = new FileWriter("C:\\Users\\danny\\OneDrive\\바탕 화면\\workspace" + member.id + ".json");
			dn.write(data.toJSONString());
			dn.flush();
			dn.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	String getRegDate() {
		Calendar cal = Calendar.getInstance();
		SimpleDateFormat date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		String regDate = date.format(cal.getTime());
		return regDate;
	}

	void setScanner(Scanner scanner) {
		this.scanner = scanner;
	}

	void shwCmd() {
		System.out.println("==회원 프로그램 시작==");
		System.out.println("1)저장하기");
		System.out.println("2)불러오기");
		System.out.println("3)출력하기");

	}

}

class Member {
	int id;
	String regDate;
	String loginId;
	String loginPw;
}

'수업관련' 카테고리의 다른 글

회원  (0) 2020.05.21
게시판 에드 참조  (0) 2020.05.20
로ㄱ,인  (0) 2020.05.13
회원가입..? 로그인..?  (0) 2020.05.13
추가 수정 삭제까지 0base에서 시작  (0) 2020.05.08