我的程序没有读取我的文本文件?

时间:2016-12-07 04:41:39

标签: java

我做了一个方法来获取数组中最重复的单词。在main方法中,我使用Scanner类来读取我的文件。我的文件是明星闪烁的横幅歌词。然后我扫描文件并将其值分配给字符串。然后我拆分字符串并将其分配到一个数组中。当我实例化mostRepeated方法由于某种原因,我总是得到"文件未找到"?我不明白代码的错误是什么?请帮助,谢谢!

import java.util.Scanner;
import java.io.*;
public class Task2Ref23 {
    public static String mostRepeated(String [] a){
        int count=1, tempCount=1;
        String temp="";
        String popular = a[0];
        for (int i=0; i<a.length-1; i++){
            temp=a[i];
            if(temp==a[i+1]) tempCount++;
            else if (tempCount > count){
                popular=temp;
                count= tempCount;
                tempCount=1;
            }
        } if (tempCount > count) popular = temp;
        return popular;
    }

    public static void main(String[] args) {
        // Erik Landaverde
        String temp= "";
        try{ 
            Scanner scan = new Scanner (new File("lyricFile"));
            while (scan.hasNext()){ 
                temp= scan.next();
            }
            String [] myArray=temp.split(" ");
            String mostRepeated = mostRepeated(myArray);
            System.out.print(mostRepeated + " ");
            scan.close();
        } 
        catch (FileNotFoundException e){ 
            System.out.println("File not found.");
        }
    }
}

2 个答案:

答案 0 :(得分:0)

尝试:

&#13;
&#13;
Scanner scan = new Scanner (new File("lyricFile.txt"));
&#13;
&#13;
&#13;

或者,如果它不是.txt文件,则是正确的扩展名,而不是您拥有的

答案 1 :(得分:0)

由于文件系统中不存在该文件,

&#34;找不到文件&#34; 消息。我注意到你给了代码,如果&#34; lyricFile&#34;文件不存在然后它将抛出FileNotFoundException异常。在catch部分,你添加了打印输出。

Scanner scan = new Scanner (new File("lyricFile"));

代码中的异常处理部分

catch (FileNotFoundException e){ 
    System.out.println("File not found.");
}

因此,如果文件不可用,您可能需要更新以下代码以创建新文件。

    File file=new File("lyricFile");
    //Check whether file not exist then it will create the file
    if(!file.exists()){
        file.createNewFile();
    }
    Scanner scan = new Scanner (file);

请注意,您需要为IOException添加catch部分。