자바 영어단어장 (파일입출력, HashMap)
지난번에 올린 HashMap을 이용한 전화번호부에 추가로 파일입출력을 포함하여
데이터를 파일에 저장하고, 불러오는 간단한 영어단어장을 만들어 보았습니다.
아직 미숙한 부분이 많아 필요하지 않은 요소들이 코딩에 들어있을 수 있습니다.
고칠 부분은 알려주시면 수정하겠습니다.
dictionaryApp.java 코딩 파일
자바코드에서 필요한 변수를 미리 선언합니다.
가장 중요한 부분은 File 클래스입니다.
대부분의 컴퓨터는 test폴더을 가지고 있지 않기 때문에 if문을 통해서
test폴더가 있는지 없는지 확인 후 없으면 폴더를 생성합니다.
그 후 switch문을 통해서 각각의 함수로 이동합니다.
등록(insert)에서는 파일을 생성하고 작성할 FileWriter클래스와 BufferedWriter클래스가 있습니다.
dictionary.txt 파일에 새로 덮어쓰기가 아닌 이어 쓰기를 원하신다면 true를 넣어주면 값을 이어서 쓸 수 있습니다.
write를 통해서 파일에 입력합니다.변수 word의 값을 입력할 때 " "를 넣은 이유는 파일에 쓰는 단어를 구분하기 위해서입니다
allsearch()메소드에서 reader클래스의 readLine메소드를 이용하여 한 문장(영단어 - 의미)을 모두 읽어
split메소드를 통해서 공백으로 구분하여 각각 값을 HashMap에 넣습니다.
그리고 마지막 메소드 search()입니다.
검색하고자 하는 영단어를 입력한 이후 HashMap의 메소드 get을 통해서 값을 가져오면 됩니다.
없으면 등록되지 않았다고 표시**
main함수에는 dictionaryApp 클래스를 객체화시켜줍니다.
그리고 close()를 꼭 해주셔야합니다. (안하면 파일에 등록이 안되거나 이상하게 표시됩니다.)
***** kjk_영단어 설명 입력시 띄어쓰기 허용 (18/5/17) *****
- 일단 간단하게 수정하게 띄어쓰기만 허용하게 만들었습니다. 문제 있으면 다시 댓글 남겨주세요~
'JAVA' 카테고리의 다른 글
자바스프링 - ModelAndView 객체 (0) | 2017.03.03 |
---|---|
Spring) model (0) | 2017.03.03 |
자바 기본 클래스, 컬렉션, 제네릭문제 (0) | 2016.10.03 |
JAVA - 전화번호부 예제 (0) | 2016.09.27 |
JAVA - 자바 로또 프로그램(ramdom 중복제거) (0) | 2016.09.21 |