[JAVA] 텍스트 파일 읽어오기 + 한 줄씩 읽어들이기
오늘은 텍스트파일(.txt)로 부터 Data값을 읽어오고, 그 값들을 한 줄씩 읽어들이는 방법에 대해서 알아보겠습니다.
항상 잘 모를때 구글링하면 꼭 텍스트 파일을 어디다 저장 해야하는지 아무도 안 알려 주더라구요...
1. 텍스트 파일은 어느 폴더에다 집어 넣어주어야 하나요?
텍스트파일은 패키지 폴더에 넣어주시면 됩니다.
뭔 소리냐구요? 제가 이클립스에서 자바 패키지 프로젝트로 'Do_rang'을 만들었다면
WorkSpace에 'Do_rang'이라는 폴더가 있을거에요.
폴더를 열어보면 bin폴더와 src폴더가 보일겁니다. 거기다 끌어놔주시면 됩니다. 간단하죠?
제 WorkSpace는 Eclipse Practice입니다. 그 폴더 안에 Do_rang이라는 폴더를 열었을 때의 모습이구요. 저 밑에다가 놔주면 됩니다.
(파일명은 비밀 ㅋㅋ)
2. 그러면, 이제 어떻게 불러오나요?
- 불러오려는 패키지에 텍스트파일을 갖다 놨기 때문에 다음의 절차를 따라주면 됩니다.
1) 경로를 저장하는 path에 "./파일명.txt"를 저장해줍니다.
1 | String path = "./뭘까나.txt"; | cs |
- 알량한 지식으로 저게 왜 가능한지를 추측해보자면
- .(쩜)은 현재 디렉토리를 의미하기 때문이 아닐까합니다 ㅎㅎ
2) 앞서 공부했던 BufferedReader를 이번엔 다르게 활용해야 합니다.
1 | BufferedReader br = new BufferedReader(new FileReader(path)); | cs |
- 파일을 불러와 br buffer에 저장하는 (위) 방법과
- 키보드로 읽은 값을 불러와 br buffer에 저장하는 (아래) 방법. 차이가 확연히 드러납니다.
1 | BufferedReader br = new BufferedReader(new InputStreamReader(System.in); | cs |
3. 불러왔는데, 한 줄씩 어떻게 읽나요?
- 이전에 BufferedReader와 관련하여 포스팅 한 것과 똑같습니다.
- 키보드로 읽어들인 Data가 Buffer에 저장된 것을 한 줄씩 읽어오는 메카니즘과 다를게 없죠.
1 | String temp = br.readLine(); | cs |
- 위의 코드를 해석하면 'br 버퍼에 저장된 한 줄을 읽어와 temp에 저장한다.'가 되겠네요.
- text파일의 모든 정보를 읽어오려면, while문으로 제한을 걸어주면 됩니다.
|
- 원하는 값을 얻는 방식은 Tokenizer로 값 얻는 포스팅을 참고하시고, 오늘은 끝!
모든 내용은 [HyunHong님의 블로그]를 참고하였습니다. (여기 진짜 정리 잘 돼있어요)