
package ch02_set;
public class Member {
private String name;
private int age;
public Member(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return name + " - " + age;
}
@Override
public int hashCode() {
return name.hashCode() + age;
}
@Override
public boolean equals(Object obj) {
if(obj instanceof Member) {
Member tmp = (Member)obj;
if(!name.equals(tmp.name)) return false;
if(!(age==tmp.age)) return false;
return true;
}
return false;
}
}
package ch02_set;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
public class ExHashSet {
public static void main(String[] args) {
// HashSet<Member> hs = new HashSet<>();
Set<Member> hs = new HashSet<>();
Member memA = new Member("유재석", 50);
Member memB = new Member("유재석", 50);
// 내용물은 같지만 hashCode는 다르므로 다른 개체로 판단
System.out.println(memA.hashCode());
System.out.println(memB.hashCode());
System.out.println(hs);
// add() : 추가
hs.add(memA);
hs.add(memB);
hs.add(new Member("김종국", 40));
hs.add(new Member("송지효", 30));
// hashCode(), equals() override 후 확인하면 hashCode가 같으므로
// 같은 값으로 인식해서 중복이 불가능하므로 1개만 들어가 있는 것을 확인
System.out.println(hs);
// size() : 데이터 수 확인
System.out.println(hs.size());
// 값 모두 확인 : foreach
for(Member man : hs) {
System.out.println(man);
}
System.out.println();
Iterator<Member> it = hs.iterator();
String dname = "유재석";
while(it.hasNext()) {
Member man = it.next();
if(man.getName().equals(dname)) {
System.out.println(dname + " ㅋㅋ 찾음 너 삭제");
it.remove();
}
}
System.out.println();
System.out.println(hs);
}
}
50622019
50622019
[][유재석 - 50, 김종국 - 40, 송지효 - 30]
3
유재석 - 50
김종국 - 40
송지효 - 30
유재석 ㅋㅋ 찾음 너 삭제
[김종국 - 40, 송지효 - 30]
package ch03_setQuiz;
/*
* Person class 를 구현하세요
* - 이름, 전화번호의 관리가 가능합니다
*/
public class Person {
private String name;
private String number;
public Person() {
}
public Person(String name, String number) {
this.name = name;
this.number = number;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
@Override
public boolean equals(Object obj) {
if(obj instanceof Person) {
Person tmp = (Person)obj;
if(!name.equals(tmp.name)) return false;
if(!number.equals(tmp.number)) return false;
return true;
}
return false;
}
@Override
public int hashCode() {
return name.hashCode() + number.hashCode();
}
@Override
public String toString() {
return "[ 이름 : " + name + " - 전화번호 : " + number + " ]";
}
}
package ch03_setQuiz;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Scanner;
import java.util.Set;
/*
* Person class 객체를 Set collection 으로 관리하는 PersonManager class 를 구현하세요
* - 구현 방식은 ch01_list 팩키지의 MemberManager class 와 동일합니다
*/
public class PersonManager {
private Scanner sc = new Scanner(System.in);
private Set<Person> set;
public PersonManager() {
set = new HashSet<>();
}
// 메뉴
public void menu() {
while (true) {
System.out.print("1.추가 2.삭제 3.목록 >> ");
int select = sc.nextInt();
switch (select) {
case 1: // 추가
insert();
break;
case 2: // 삭제
delete();
break;
case 3: // 목록
list();
break;
case 0: // 종료
end();
default:
System.out.println("선택 오류~");
}
System.out.println();
}
} // menu()
// 1. 전화번호 추가
public void insert() {
System.out.println("--- 번호 추 가 ---");
System.out.print("이름 입력 > ");
String name = sc.next();
Iterator<Person> it = set.iterator();
while (it.hasNext()) {
Person man = it.next();
if (man.getName().equals(name)) {
System.out.println("동일한 이름이 저장되어 있습니다.");
System.out.print("1. 번호 바꾸기 \n" + "2. 동일 이름 번호 추가 \n" + "3. 취소\n" + ">> ");
int select = sc.nextInt();
switch (select) {
case 1:
System.out.println("번호를 바꾸시려면 번호 입력 : ");
it.remove();
break;
case 2:
System.out.print("번호 입력 \n" + "ex) 010-0000-0000 \n" + ">> ");
String number1 = sc.next();
set.add(new Person(name, number1));
return;
case 3:
return;
}
}
}
System.out.print("번호 입력 \n" + "ex) 010-0000-0000 \n" + ">> ");
String number = sc.next();
set.add(new Person(name, number));
}// insert()
// # findName() : 이름 검색
public Person findName(String search) {
for (Person man : set) {
if (man.getName().equals(search))
return man;
}
return null;
}
// # findNum() : 번호 검색
public Person findNum(String search) {
for (Person man : set) {
if (man.getNumber().equals(search))
return man;
}
return null;
}
// 2. 전화번호 삭제 // 어떤놈 삭제할지 정하기가 가능할까?
public void delete() {
System.out.println("--- 번호 삭 제 ---");
System.out.println("--- 이름 검색 : ");
String dname = sc.next();
Person man = findName(dname);
if (man == null) {
System.out.println("검색 실패");
return; // 메소드 종료
}
// 추가해보자
else if (!(man == null)) {
System.out.println(dname);
int cnt =0;
for (Person man1 : set) {
System.out.println(man1);
cnt ++;
}
if(cnt>1) {
System.out.println("지울 번호를 입력하세요");
String dnumber = sc.next();
Person man1 = findNum(dnumber);
set.remove(man1);
System.out.println(dname + " 번호 삭제");
}else if(cnt==1) {
set.remove(man);
System.out.println(dname + " 번호 삭제");
}
}
} // delete()
// 3. 전화번호 목록
public void list() {
System.out.println("--- 번호 목 록 ---");
if (set.size() == 0)
System.out.println("저장된 번호 없음");
else {
for (Person man : set) {
System.out.println(man);
}
System.out.println("저장된 번호 수 : " + set.size());
}
} // list()
// 0. 종료
public void end() {
System.out.println("--- Program End ---");
System.exit(0);
}
}
package ch03_setQuiz;
public class PersonMain {
public static void main(String[] args) {
PersonManager pmn = new PersonManager();
pmn.menu();
}
}
package ch03_setQuizT;
/*
* Person class 를 구현하세요
* - 이름, 전화번호의 관리가 가능합니다
*/
public class Person {
private String name;
private String phone;
public Person(String name, String phone) {
this.name = name;
this.phone = phone;
}
public String getName() { return name; }
public void setName(String name) {
this.name = name;
}
public String getPhone() { return phone; }
public void setPhone(String phone) {
this.phone = phone;
}
public int hashCode() {
return name.hashCode() + phone.hashCode();
}
public boolean equals(Object obj) {
if(obj instanceof Person) {
Person tmp = (Person)obj;
if(!name.equals(tmp.name))
return false;
if(!phone.equals(tmp.phone))
return false;
return true;
}
return false;
}
public String toString() {
return name + " - " + phone;
}
}
package ch03_setQuizT;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Scanner;
import java.util.Set;
/*
* Person class 객체를 Set collection 으로 관리하는 PersonManager class 를 구현하세요
* - 구현 방식은 ch01_list 팩키지의 MemberManager class 와 동일합니다
*/
public class PersonManager {
private Scanner scanner = new Scanner(System.in);
private Set<Person> set;
public PersonManager() {
set = new HashSet<>();
}
// 메뉴
public void menu() {
while(true) {
System.out.print("1.추가 2.삭제 3.목록 >> ");
int select = scanner.nextInt();
switch(select) {
case 1: // 추가
insert(); break;
case 2: // 삭제
delete(); break;
case 3: // 목록
list(); break;
case 0: // 종료
end();
default:
System.out.println("선택 오류~");
}
System.out.println();
}
} // menu()
// 전화번호 추가
public void insert() {
System.out.println("--- 전화번호 추가 ---");
System.out.print("이름 입력 > ");
String name = scanner.next();
System.out.print("전화번호 입력 > ");
String phone = scanner.next();
set.add(new Person(name, phone));
}// insert()
// 전화번호 삭제
public void delete() {
System.out.println("--- 전화번호 삭제 ---");
System.out.print("삭제 전화번호 입력 > ");
String phone = scanner.next();
Iterator<Person> it = set.iterator();
while(it.hasNext()) {
Person tmp = it.next();
if(tmp.getPhone().equals(phone)) {
it.remove();
System.out.println(tmp.getName() + " 번호 삭제");
return;
}
}
System.out.println("삭제 실패~");
} // delete()
// 전화번호 목록
public void list() {
System.out.println("--- 전화번호 추가 ---");
for(Person man : set) {
System.out.println(man);
}
System.out.println();
} // list()
// 종료
public void end() {
System.out.println("- Program end -");
System.exit(0);
}
}
package ch03_setQuizT;
public class PersonMain {
public static void main(String[] args) {
PersonManager manager = new PersonManager();
manager.menu();
}
}
package ch04_map;
public class Member {
private String id;
private String name;
public Member(String id, String name) {
this.id = id;
this.name = name;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return id + " - " + name;
}
}
package ch04_map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
/*
* HashMap
* - key, value
* - key 중복 가능
* - value 중복 불가
* - 기존에 저장된 key 와 동일한 key 값을 저장하면
* -> 기존 값은 없어지고 새로운 값으로 변경
*/
public class ExHashMap {
public static void main(String[] args) {
// HashMap<String, String> hm = new HashMap<>();
Map<String, String> hm = new HashMap<>();
// put() : 데이터 추가
hm.put("무재석", "안티나");
hm.put("소농민", "또뜨넘");
hm.put("기명경", "기믕국생명");
// 출력해보면 key 와 value 값 사이에 '=' 이 나옴
// 묶여있다 생각하면 될거같음
System.out.println(hm);
System.out.println();
// get( key ) : 데이터 가져오기
System.out.println("소농민 소속 : " + hm.get("소농민"));
System.out.println();
// Iterator 쓸 때 2단계를 거쳐야함
// key값에 대한 반복자를 만든다
// key 값은 set으로 처리 -> 중복 불가
// key 값만 모아 하나의 set 을 생성
Set<String> ks = hm.keySet();
// 동일한 key 값으로 다른 value 값을 새로 넣으면 수정 효과
hm.put("무재석", "푸리");
// keySet() 의 반복자(iterator) 생성
Iterator<String> it = ks.iterator();
while (it.hasNext()) {
String key = it.next();
String value = hm.get(key);
System.out.println(key + " - " + value);
}
System.out.println();
// remove() : 데이터 삭제
// remove() 를 쓰면 value 값이 반환됨
System.out.println("소농민 삭제 : " + hm.remove("소농민"));
System.out.println("지송빠레 삭제 : " + hm.remove("지송빠레"));
System.out.println(hm);
System.out.println();
// 삭제 진행 전에 사전에 확인
String dkey = "무재석";
// containsKey() : 해당 key 값이 있는지 확인
if (hm.containsKey(dkey)) {
hm.remove(dkey);
System.out.println(dkey + " 삭제");
} else {
System.out.println("삭제 key 없음");
}
System.out.println(hm);
}
}
{무재석=안티나, 소농민=또뜨넘, 기명경=기믕국생명}
소농민 소속 : 또뜨넘
무재석 - 푸리
소농민 - 또뜨넘
기명경 - 기믕국생명
소농민 삭제 : 또뜨넘
지송빠레 삭제 : null
{무재석=푸리, 기명경=기믕국생명}
무재석 삭제
{기명경=기믕국생명}
package ch04_map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class MemberManager {
// key:id value
private Map<String, Member> map;
public MemberManager() {
map = new HashMap<>();
}
// checkId() : ID 확인
public boolean checkId(String id) {
if (map.containsKey(id))
return true;
return false;
}// checkId()
// 1. 회원 추가
public void insert(String id, String name) {
if (map.containsKey(id)) {
System.out.println("중복 ID.. 다시 진행하셈 ㅋ");
return;
} else {
map.put(id, new Member(id, name));
}
}// insert
// 2. 회원 삭제
public void delete(String id) {
if (checkId(id)) {
map.remove(id);
System.out.println(id + " 삭제");
} else
System.out.println("없는 ID 입니다..");
}// delete
// 3. 회원 목록
public void list() {
Set<String> set = map.keySet();
Iterator<String> it = set.iterator();
while (it.hasNext()) {
String key = it.next();
Member value = map.get(key);
System.out.println(value);
}
}// list
// 0. 프로그램 종료
public void end() {
System.out.println("--- Program End ---");
System.exit(0);
}
}
package ch04_map;
import java.util.Scanner;
public class MemberMain {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
MemberManager manager = new MemberManager();
while(true) {
System.out.println("--- 회 원 관 리 ---");
System.out.print("1.가입 2.삭제 3.목록 >> ");
int select = sc.nextInt();
switch(select) {
case 1: // 가입 : id(key), name
System.out.print("ID 입력 > ");
String id = sc.next();
if(manager.checkId(id)) {
System.out.println("사용중인 ID 입니다");
}else {
System.out.print("이름 입력 > ");
String name = sc.next();
manager.insert(id, name);
}
break;
case 2: // 삭제
System.out.print("삭제할 ID 입력 > ");
String did = sc.next();
manager.delete(did);
break;
case 3: // 목록
manager.list();
break;
case 0: // 종료
manager.end();
default:
System.out.println("선택 오류~");
}
System.out.println();
}
}
}
package ch05_mapQuiz;
/*
* Person class 를 구현하세요
* - 이름, 전화번호의 관리가 가능합니다
*/
public class Person {
private String name;
private String number;
public Person() {
}
public Person(String name, String number) {
this.name = name;
this.number = number;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
@Override
public boolean equals(Object obj) {
if(obj instanceof Person) {
Person tmp = (Person)obj;
if(!name.equals(tmp.name)) return false;
if(!number.equals(tmp.number)) return false;
return true;
}
return false;
}
@Override
public int hashCode() {
return name.hashCode() + number.hashCode();
}
@Override
public String toString() {
return "[ 이름 : " + name + " - 전화번호 : " + number + " ]";
}
}
package ch05_mapQuiz;
import java.util.Scanner;
public class PersonMain {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
PersonManager manager = new PersonManager();
boolean run = true; // 실행 : true, 종료 : false
while (run) {
int select = manager.printStartMessage();
switch (select) {
case 1: // 추가 : 이름으로 관리
manager.insert();
break;
case 2: // 삭제 : 이름으로 삭제
manager.delete();
break;
case 3: // 목록
manager.view();
break;
case 4: // 수정 : 이름으로 전화번호 수정
manager.modify();
break;
case 0: // 종료
run = manager.end();
break;
default:
System.out.println("선택 오류~");
;
}
System.out.println();
}
}
}
package ch05_mapQuiz;
import java.util.Scanner;
public class PersonMain {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
PersonManager manager = new PersonManager();
boolean run = true; // 실행 : true, 종료 : false
while (run) {
int select = manager.printStartMessage();
switch (select) {
case 1: // 추가 : 이름으로 관리
manager.insert();
break;
case 2: // 삭제 : 이름으로 삭제
manager.delete();
break;
case 3: // 목록
manager.view();
break;
case 4: // 수정 : 이름으로 전화번호 수정
manager.modify();
break;
case 0: // 종료
run = manager.end();
break;
default:
System.out.println("선택 오류~");
}
System.out.println();
}
}
}
package ch05_mapQuizT;
/*
* Person class 를 구현하세요
* - 이름, 전화번호의 관리가 가능합니다
*/
public class Person {
private String name;
private String phone;
public Person(String name, String phone) {
this.name = name;
this.phone = phone;
}
public String getName() { return name; }
public void setName(String name) {
this.name = name;
}
public String getPhone() { return phone; }
public void setPhone(String phone) {
this.phone = phone;
}
public int hashCode() {
return name.hashCode() + phone.hashCode();
}
public boolean equals(Object obj) {
if(obj instanceof Person) {
Person tmp = (Person)obj;
if(!name.equals(tmp.name))
return false;
if(!phone.equals(tmp.phone))
return false;
return true;
}
return false;
}
public String toString() {
return name + " - " + phone;
}
}
package ch05_mapQuizT;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;
public class PersonManager {
private Scanner scanner = new Scanner(System.in);
private Map<String, Person> map;
public PersonManager() {
map = new HashMap<>();
}
public String inputString(String message) {
System.out.print(message);
String value = scanner.next();
return value;
}
// 추가 : 이름으로 관리
public void insert() {
System.out.println("--- 전화번호 추가 ---");
String name = inputString("이름 입력 > ");
if(map.containsKey(name)) {
System.out.println("이름 중복!! 다시 진행하세요~");
} else {
String phone = inputString("전화번호 입력 > ");
map.put(name, new Person(name, phone));
}
}// insert()
// 삭제 : 이름으로 삭제
public void delete() {
System.out.println("--- 전화번호 삭제 ---");
String name = inputString("삭제 이름 입력 > ");
if(map.containsKey(name)) {
map.remove(name);
System.out.println(name + " 삭제");
} else {
System.out.println("없는 이름입니다~");
}
} // delete()
// 목록
public void view() {
System.out.println("--- 전화번호 목록 ---");
Set<String> set = map.keySet();
for(String key : set) {
Person value = map.get(key);
System.out.println(value);
}
System.out.println();
} // view()
// 수정 : 이름으로 전화번호 수정
public void modify() {
System.out.println("--- 전화번호 수정 ---");
String name = inputString("수정 이름 입력 > ");
if(map.containsKey(name)) {
Person man = map.get(name);
System.out.println("현재 전화번호 : " + man.getPhone());
String phone = inputString("수정 전화번호 입력 > ");
map.put(name, new Person(name, phone));
} else {
System.out.println("없는 이름입니다..");
}
} // modify()
// 종료
public boolean end() {
System.out.println("- Program end -");
return false;
}
}
package ch05_mapQuizT;
import java.util.Scanner;
public class PersonMain {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
PersonManager manager = new PersonManager();
boolean run = true; // 실행 : true, 종료 : false
while(run) {
System.out.println(" --- 전화번호 관리 ---");
System.out.print("1.추가 2.삭제 3.목록 4.수정\n>> ");
int select = scanner.nextInt();
switch(select) {
case 1: // 추가 : 이름으로 관리
manager.insert(); break;
case 2: // 삭제 : 이름으로 삭제
manager.delete(); break;
case 3: // 목록
manager.view(); break;
case 4: // 수정 : 이름으로 전화번호 수정
manager.modify(); break;
case 0: // 종료
run = manager.end();
break;
default:
System.out.println("선택 오류~");;
}
System.out.println();
}
}
}
import java.util.Scanner;
/*
* 예외 ( exceptoin )
* - 잘못된 코드 또는 사용자의 잘못된 조작으로 인해 발생하는 프로글매 오류
* -> 사람이 고칠 수 있는 오류 >> 해결 가능
*
* 예외처리
* - 프로그램에서 오류가 발생했을 때, 문제 내용을 처리하는 것
* Ex) try {
* 문제가 발생할 수 있는 지역
* } catch ( 예외 타입 ) { ex) InputMismatchException
* 예외처리 지역
* > catch 의 예외 타입으로 기본자료형은 사용할 수 없음
* } finally { // 필수 아님
* 예외처리와 상관없이 무조건 실행되는 지역
* }
*/
public class Ex01Exception {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int candy= 0;
int people= 0;
try {
System.out.print("사탕수 입력 > ");
candy= sc.nextInt();
System.out.print("사람수 입력 > ");
people= sc.nextInt();
int div = candy/people;
int mod = candy%people;
System.out.println("한 사람당 사탕 수 : " + div);
System.out.println("남은 사탕 수 : " + mod);
} catch (Exception e) {
System.out.println("0으로 나눌 수 없음");
System.out.println("상세한 내용");
e.printStackTrace();
System.out.println("조금 덜 상세한 내용");
System.out.println(e.toString());
System.out.println("가장 간략한 내용");
// out -> err 로 하면 빨간색으로 나옴
System.err.println(e.getMessage());
} finally {
System.out.println("- 계산 종료 -");
}
}
}
사탕수 입력 > 10
사람수 입력 > 0
0으로 나눌 수 없음
상세한 내용
java.lang.ArithmeticException: / by zero
at Ex01Exception.main(Ex01Exception.java:34)
조금 덜 상세한 내용
java.lang.ArithmeticException: / by zero
가장 간략한 내용
- 계산 종료 -
/ by zero
public class Ex02Exception {
public static void main(String[] args) {
String[] sa = new String[] { "1", "2", "3" };
int[] ia = new int[sa.length];
try {
for (int i = 0; i < 5; i++) {
ia[i] = Integer.parseInt(sa[i]);
System.out.println(ia[i] + " ");
}
System.out.println();
} catch (NumberFormatException e) {
e.printStackTrace();
System.out.println("- NumberFormatException e -");
} catch (ArrayIndexOutOfBoundsException e) {
e.printStackTrace();
System.out.println("- ArrayIndexOutOfBoundsException e -");
} catch (Exception e) {
e.printStackTrace();
System.out.println("- Exception e -");
}
}
}
1
2
3
java.lang.ArrayIndexOutOfBoundsException: 3
at Ex02Exception.main(Ex02Exception.java:9)
- ArrayIndexOutOfBoundsException e -
import java.util.Scanner;
public class Ex03Exception {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int candy= 0;
int people= 0;
try {
System.out.print("사탕수 입력 > ");
candy= sc.nextInt();
System.out.print("사람수 입력 > ");
people= sc.nextInt();
if(people<1)
throw new Exception("1미만 안됨");
int div = candy/people;
int mod = candy%people;
System.out.println("한 사람당 사탕 수 : " + div);
System.out.println("남은 사탕 수 : " + mod);
} catch (Exception e) {
System.err.println(e.getMessage());
} finally {
System.out.println("- 계산 종료 -");
}
}
}
사탕수 입력 > 10
사람수 입력 > 0
1미만 안됨
- 계산 종료 -
import java.util.Scanner;
public class Calc {
public static int div(int a, int b) throws Exception {
return a / b;
}
}
public class Ex04Exception {
public static void main(String[] args) {
try {
int res = Calc.div(10, 0);
System.out.println("res : " + res);
} catch (Exception e){
e.printStackTrace();
}
}
}
java.lang.ArithmeticException: / by zero
at Calc.div(Calc.java:5)
at Ex04Exception.main(Ex04Exception.java:6)
import java.util.Scanner;
public class QuizException {
public static void main(String[] args) {
// 사용자에게 ID 를 입력받습니다
// 정상이면 사용 가능하고, 문제가 있으면 재입력 받아서 합니다
// - ID 는 2 ~ 10 글자 사이만 가능합니다
// ID 에 'admin' 단어가 들어가 있으면 안됩니다
Scanner scanner = new Scanner(System.in);
String userid = null;
while (true) {
try {
System.out.print("ID 입력 > ");
userid = scanner.next();
if (userid.length() < 2 || userid.length() > 10)
throw new Exception("2 ~ 10 글자 사이만 가능합니다~");
if (userid.contains("admin"))
throw new Exception("admin 은 포함할 수 없어요~");
break;
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
System.out.println("ID : " + userid);
}
}
ID 입력 > asddasasdasd
2 ~ 10 글자 사이만 가능합니다~
ID 입력 > admin
admin 은 포함할 수 없어요~
ID 입력 > adadadadad
ID : adadadadad
import java.io.File;
import java.io.IOException;
import java.sql.Date;
public class ExFile {
public static void main(String[] args) throws IOException {
// 폴더 경로를 가지는 객체 생성
// \ << 폴더 구분
// File path = new File("C:\\Users\\Administrator\\Desktop\\Fintech\\java\\FileTest");
// 폴더 구별자 : File.separator
File path = new File("C:"+ File.separator
+ "Users"+ File.separator
+ "Administrator"+ File.separator
+ "Desktop"+ File.separator
+ "Fintech"+ File.separator
+ "java"+ File.separator
+ "FileTest");
// 해당 위치에 폴더가 있는지 확인
if(path.exists() == false) {
path.mkdir();
System.out.println("폴더 생성");
}
// 폴더 위치, 파일명을 가지는 객체 생성
File mf = new File(path, "test.txt");
// 경로에 파일이 없으면 생성
// 예외전가를 시켜야함
if(mf.createNewFile()) {
System.out.println(mf.getName() + " 파일 생성");
} else {
System.out.println(mf.getName() + " 중복 파일");
}
System.out.println("--- 파일 정보 ---");
System.out.println("절대 경로 : " + mf.getAbsolutePath());
System.out.println("생설 일자 : " + new Date(mf.lastModified()));
System.out.println("파일 크기 : " + mf.length()); // 기록된 내용
}
}
test.txt 중복 파일
--- 파일 정보 ---
절대 경로 : C:\Users\Administrator\Desktop\Fintech\java\FileTest\test.txt
생설 일자 : 2023-09-08
파일 크기 : 1