计算文件的单词并将其存储在数组中?

时间:2013-10-03 19:11:56

标签: java

一次。我会再次询问有关计算单词以及如何将其存储在数组中的信息。到目前为止,我得到的只是这个。

Scanner sc = new Scanner(System.in);
int count;
 void readFile() {
 System.out.println("Gi navnet til filen: ");
 String filNavn = sc.next();

 try{
     File k = new File(filNavn);
     Scanner sc2 = new Scanner(k);
     count = 0;
     while(sc2.hasNext()) {
     count++;
     sc2.next();
     }
     Scanner sc3 = new Scanner(k);
     String a[] = new String[count];
     for(int i = 0;i<count;i++) {
     a[i] =sc3.next();
     if ( i == count -1 ) {
         System.out.print(a[i] + "\n");
     }else{
         System.out.print(a[i] + " ");
     }
     }
     System.out.println("Number of words: " + count);
 }catch(FileNotFoundException e) {

我的代码有效。但我的问题是,有更简单的方法吗?另一个问题是如何在不使用hashmap和arraylist的情况下计算给定文件中的总单词中的唯一单词。

1 个答案:

答案 0 :(得分:2)

这是一个更简单的方法:

    public static void main(String[] args){
    File f= new File(filename);
    BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(f)));
    String line = null;
    String[] res;
    while((line = br.readLine())!= null ){
        String[] tokens = line.split("\\s+");
        String[] both = ArrayUtils.addAll(res, tokens);
    }
    }