2017-12-12 6 views
0

myMap이라는 hashmap을 만들었으므로 모든 고유 단어를 Hashmap의 키에 저장하고 키워드 이름에 해당하는 파일 이름을 저장하려고합니다. 여러 파일에서 입력을 받고 키워드에 해당하는 값에 이름을 저장합니다.줄 사이에 여러 간격이있는 경우 입력 파일에서 모든 줄을 읽는 방법?

샘플 입력 코드

AS YOU LIKE IT 

by William Shakespeare 



DRAMATIS PERSONAE. 

DUKE, living in exile 
FREDERICK, his brother, and usurper of his dominions 
AMIENS, lord attending on the banished Duke 
JAQUES, "  "  " "  "  " 
LE BEAU, a courtier attending upon Frederick 
CHARLES, wrestler to Frederick 
    OLIVER, son of Sir Rowland de Boys 
JAQUES, " " " "  " " 

파일 1

+0

당신이 필요 'in.readLine()'을 반복적으로 호출하십시오. – StephaneM

+0

한 줄만 읽었기 때문에. – domsson

+0

@StephaneM while (in.readLine()! = null) 이것을 실행하면 첫 번째 빈 줄을 읽을 때 중지됩니다. –

답변

0

이 빈과 아무 상관없는 내가 모든 파일 만 첫 줄을 읽을 수 있어요

String name = f.getName(); 

    BufferedReader in = new BufferedReader(new FileReader(f)); 
    String words = in.readLine().trim().toLowerCase(); 

    for(String word: words.split("\\s+")) { 
     if (myMap.get(word) == null) { 
      myMap.put(word, new ArrayList<String>()); 
     } 
      myMap.get(word).add(name); 
     } 

.. 윤곽.

in.readLine().trim().toLowerCase();으로 전화하십시오. 한 줄을 읽습니다.

두 번째 줄을 가져오고 세 번째 줄을 가져 오려면 다시 호출해야합니다.

루프가 무엇인지 이미 알고있을 것입니다. 사용하십시오.

1

이 다른 접근 방식은 모든 라인을 읽기위한 것입니다 : 당신이 숙제의 어떤 종류를 해결하기 위해 노력하고 있음을 볼 수

https://docs.oracle.com/javase/7/docs/api/java/nio/file/Files.html#readAllLines(java.nio.file.Path,%20java.nio.charset.Charset)

+0

에서 값으로 사용하기에 더 적합한 세트를 찾을 수 있습니다. LOOP를 사용하도록 제안했지만 java의 readAllLines를 사용하는 것이 좋습니다.nio는 더 나은 대답이다. – Lauri

+0

@Lauri 루프는 힙 메모리에 적합하도록 너무 큰 파일을 처리하는 데 사용할 수 있기 때문에 ** 일반 ** 대답이 더 좋다. – slim

1

.

이미 관련성이 높고 좋은 답변이 있지만, 프로그래밍 과목을 수강 할 경우를 대비하여 다른 방법이 있습니다.

는 그것은 이전의 검색 쿼리에 따라 "인터넷 검색 방법"

라고, 당신은 더 나은 또는 더 나쁜 결과를 얻을 수 있습니다. 그러나 google.com 사이트에서 몇 가지 일반적인 프로그래밍 문제에 대한 관련 결과를 빠르게 찾을 수 있습니다. 내가 얻을 첫 번째 결과 "자바에서 파일의 모든 라인을 읽는 "를 검색 예를 들어 은 다음과 같습니다 How to read a large text file line by line using Java?

당신을하지만, 이미 19 답변 비슷한 질문 700까지 이상 투표와 최고의 하나.

는, 검색 결과를 좁히려 유래에서 만 표시 결과를 예를 들어, 당신이 그렇게 검색 할 수 있습니다 : "를 자바 사이트에서 파일 텍스트의 모든 라인을 읽기 : stackoverflow.com"