(구) 자료/JAVA

[JAVA] 텍스트 파일 읽어오기 + 한 줄씩 읽어들이기

뜐뜐뜐 2017. 12. 17. 16:55



오늘은 텍스트파일(.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문으로 제한을 걸어주면 됩니다.




1
while((temp = br.readLine())!=null)
cs



- 원하는 값을 얻는 방식은 Tokenizer로 값 얻는 포스팅을 참고하시고, 오늘은 끝!


모든 내용은 [HyunHong님의 블로그]를 참고하였습니다. (여기 진짜 정리 잘 돼있어요)