2014-05-14 2 views
0

텍스트 파일을 읽고 treeMap에 저장 한 다음 frequences (wordcount)라는 단어를 콘솔에 인쇄하는 프로그램을 작성하고 있습니다. 나는 FileNotFoundException을 계속 얻는다. "나는 생각한다. 나는 코드의 나머지 부분과 거의 비슷하다. 어떤 도움, 포인터, 제안 및 팁을 주시면 감사하겠습니다. 고마워. 아래 코드treemap이있는 WordCount

import java.util. *;

/** * * @author * */

공용 클래스 단어 수 {

public static void main(String[] args) { 
    // TODO Auto-generated method stub 
    TextFileInput take = new TextFileInput("noteFile.txt"); 

    String m = take.readLine(); 
    String [] input = m.split("[ \n\t\r,.;:!?(){}}]"); 

TreeMap <String, Integer> myMap = new TreeMap <String, Integer>(); 

    /**Set set = myMap.entrySet(); 
    Iterator i = set.iterator(); 
    Map.Entry <String, Integer> me; **/ 

    for(int f = 0; f < input.length; f++) {   
     String key = input[f].toUpperCase(); 
     if(input[f].length() > 1) { 
      if(myMap.get(key) == null) { 
       myMap.put(key, 1); 
       } 
      else { 
        int value = myMap.get(key).intValue(); 
        value++; 
        myMap.put(key, value); 
      } 
     }  
    }  
    /**while(i.hasNext()) { 
      me = (Map.Entry)i.next(); 
      System.out.print(me.getKey() + ": "); 
      System.out.println(me.getValue()); **/ 


    for(Map.Entry<String, Integer> entry : myMap.entrySet()) { 
     System.out.println(entry.getKey() + " : "+ entry.getValue()); 
    } 

} 
} 

}

+1

나는 그것이 오류가 귀하의 질문에 또는 실제 코드에 있는지 확실하지 않습니다하지만 당신은, 다음과 같습니다 끝에는 여분의'}'가 있습니다. 또한 "* 나는 계속'FileNotFoundException'을 얻습니다 *"어떻게 코드를 실행하고 있습니까? 어떤 위치에 콘솔이 있습니까? 읽을 파일의 위치는 어디입니까? "* ... 그리고 다른 어떤 것들 *"다른 오류는 무엇입니까? – Pshemo

+0

위치 파일은 메모 파일이있는 위치에 있습니다. JRE 시스템 바로 아래에 있지만 실제로는 그렇지 않습니다. 나는 그 장소의 이름이 무엇인지 (미안) 모르겠다. 코드를 Java 파일로 실행하고 있습니다. TextFileInput을 사용하여 코드를 읽습니다. – user3059254

답변

0

TextFileInput - 나는 이것에 대해 확실하지 않다. 파일 및 스캐너를 사용하여 파일에서 읽을 수 있습니다. 파일의 절대 경로를 지정하십시오. 예. C : //notepad.txt (windows 용)

또한 파일에서 한 행을 읽습니다. while 루프에서 추가 할 수 있습니다. 그리고 다음과 같이 당신이 할 수있는 트리 맵,

for(String entry : myMap.keySet()) { 
    System.out.println(entry + " : "+ myMap.get(entry)); 
} 

그리고 전체 코드를 인쇄하는 것은

import java.io.File; 
import java.io.FileNotFoundException; 
import java.util.*; 

public class WordCount { 

public static void main(String[] args) throws FileNotFoundException { 

    File file = new File("C://notepad.txt"); 
    Scanner scanner=new Scanner(file); 

    TreeMap <String, Integer> myMap = new TreeMap <String, Integer>(); 

    while(scanner.hasNext()) 
    { 
    String m = scanner.nextLine(); 
    String [] input = m.split("[ \n\t\r,.;:!?(){}}]"); 

    for(int f = 0; f < input.length; f++) {   
     String key = input[f].toUpperCase(); 
     if(input[f].length() > 1) { 
      if(myMap.get(key) == null) { 
       myMap.put(key, 1); 
       } 
      else { 

        myMap.put(key, (myMap.get(key))+1); 
      } 
     }  
    }  
    } 

    for(String entry : myMap.keySet()) { 
     System.out.println(entry + " : "+ myMap.get(entry)); 
    } 

} 

}