package kh.java.test;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.Scanner;
import java.util.StringTokenizer;
//메소드 2개만 완성하면 된다.
public class SaveLoad {
Scanner sc = new Scanner(System.in);
private String name;
private int age;
private String addr;
public void menu() {
while(true) {
System.out.println("1. 정보입력");
System.out.println("2. 정보출력");
System.out.println("3. 정보저장(save)");
System.out.println("4. 정보불러오기(load)");
System.out.println("0. 종료");
int sel = sc.nextInt();
switch(sel) {
case 1 : insert(); break;
case 2 : print(); break;
case 3 : save(); break;
case 4 : load(); break;
case 0 : return;
}
}
}
public void insert() {
System.out.print("이름입력 : ");
name = sc.next();
System.out.print("나이입력 : ");
age=sc.nextInt();
sc.nextLine();
System.out.print("주소입력 : ");
addr = sc.nextLine();
}
public void print() {
if(name==null) {
System.out.println("현재 정보가 없습니다.");
return;
}
System.out.println("이름 : "+name);
System.out.println("나이 : "+age);
System.out.println("주소 : "+addr);
}
public void save() {
//save할경우 디렉토리에 info.txt라는 파일을 만들고 담아놓은 정보(이름,나이,주소 저장하기)
//값 없으면 저장하지 말기
try(BufferedWriter bw = new BufferedWriter(new FileWriter("info.txt"))){
//FileWriter f = new FileWriter();
String age2 = String.valueOf(age);
if(name==null) {
System.out.println("저장할께 없습니다.");
return;
}
else {
System.out.println(name+"/"+age+"/"+addr);
bw.write(name);
bw.newLine();
bw.write(age2);
bw.newLine();
bw.write(addr);
}
}catch (FileNotFoundException e) {
e.printStackTrace();
}catch (IOException e) {
e.printStackTrace();
}
}
public void load() {
//info.txt에서 값을 가져와서 변수저장을 해서 print하면 실행되도록
//불러오고나서 다시 출력하면 다시 바껴야 한다.
try(BufferedReader br = new BufferedReader(new FileReader("info.txt"))){
String line="";
String age2 = String.valueOf(age);
for(int i=1; (line=br.readLine())!=null;i++) {
System.out.println(i+" : "+line);
if(i==1) {
name=line;
}
else if(i==2) {
age2=line;
}
else if(i==3) {
addr=line;
}
}
age=Integer.valueOf(age2);
}catch(FileNotFoundException e) {
e.printStackTrace();
}catch(IOException e) {
e.printStackTrace();
}
}
}
'IT일반과목 > java' 카테고리의 다른 글
20180808 학원에서 네트워크 들어가기전에 개념 설명,직렬화 (0) | 2018.08.08 |
---|---|
자바 IO 수업3 (0) | 2018.08.08 |
입출력3 (집공부) (0) | 2018.08.08 |
입출력2 (집공부) (0) | 2018.08.08 |
입출력1 (집공부) (0) | 2018.08.08 |