본문 바로가기

IT일반과목/java

자바 IO 수업2

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