2012-01-11 2 views
0

아무도 여기에 몇 가지 코드를 게시 할 수 있습니까 어떻게 파일에서 단어로 단어를 읽을 수 있습니까? 나는 BufferedReader를 사용하여 한 줄씩 파일에서 읽는 방법 만 알고있다. 아무도 BufferedReader로 게시했으면 좋겠다.파일에서 한 단어 씩 읽는 방법?

는이 코드와 그것을 해결 : (읽기하는 것보다 다른 더 좋은 방법은 없습니다

StringBuilder word = new StringBuilder(); 
       int i=0; 
       Scanner input = new Scanner(new InputStreamReader(a.getInputStream())); 
       while(input.hasNext()) { 
        i++; 
        if(i==prefNamePosition){ 
         word.append(prefName); 
         word.append(" "); 
         input.next(); 
        } 
        else{ 
         word.append(input.hasNext()); 
         word.append(" "); 
        } 
       } 
+0

하지? – Krylez

+0

물론 나는 그것을 잊어 버렸다. 나는 그것을 사용할 수있다. 하지만 한 가지 문제가 있습니다. Q를 편집하고 거기를 살펴보십시오. – Adam

답변

0

,이 시도 :

당신은 스캐너를 사용할 수 있습니다
while (input.hasNext()) { 
    String currentWord = input.next(); 
    if(++i == prefNamePosition) { 
     currentWord = prefName; 
    } 
    word.append(currentWord); 
    word.append(" "); 
} 
+1

나는 당신이 볼 수있는 하나의 작은 변화로 어제 그것을 해결했다. 스캐너 사용에 대한 귀하의 조언에 감사드립니다. btw. 그것은 당신의 코드에서도 작동합니다. – Adam

1

) 당신은 당신이 결정에 대해 원하는 공백이나 어떤 기준을 얻을 때까지 한 번에 문자를 무엇을 얻을 "낱말"은이다.

0

또 다른 방법은 토큰 화기 (예 : 자바)를 사용하고 구분 기호 공백 문자 (즉 '')를 사용하는 것입니다. 그런 다음 토큰을 반복하여 파일에서 각 단어를 읽습니다.

0

줄을 읽은 다음 나누기를 사용할 수 있습니다. 단어의 명확한 정의는 없지만 공백으로 구분하기를 원한다면 할 수 있습니다.

정규식을 사용하여이를 수행 할 수도 있습니다. 당신은 특별한 값으로 n 번째 토큰을 대체하려는 경우

+0

아니, 이것이 내가 필요한 것이 아니다. 루프가 반복 될 때 네 번째 단어가 네 번째 단어를 대체해야하기 때문에 while 루프로 단어를 읽어야합니다. – Adam

+0

당신은 변수에 줄을 저장 한 다음 "word"를 "word"라고 쓰면서 while을 반복 할 수 있습니다. 당신이하고 싶은 과정을 수행하십시오. –

관련 문제