-1
我试图读取文件两次,但它似乎只有第一个while while循环运行。基本上,我用第一个while循环来计数元素,我分配了数组的大小。我用第二个调用方法并传递字符串(每个元素)。我试图通过使用while循环来执行这两个任务,但我很难设置数组的大小。如何读取文件两次
请帮助,如果有人知道如何做到这一点。我期待听到你们的声音。
预先感谢您
public static void main(String[] args)throws Exception
{
Scanner scan = new Scanner(new FileReader("first.txt"));
int count = 0;
while(scan.hasNext())
{
count ++;
String s = scan.next();
}
ArrayList<String> []words = new ArrayList[count];
while(scan.hasNext())
{
String f = scan.next();
hash(f,count); //call method
}
scan.close();
//System.out.println(count);
}
您是否尝试过在两次调用之间重置扫描?因为当你正在做第二次迭代时,它的'.hasNext()'方法结束了。 – Emz 2014-12-03 02:11:38
第一个循环结束,因为'scan.hasNext()'返回false。在下一个循环之前,你并没有对'scan'做任何事情,所以你认为'hasNext()'会返回除false之外的任何东西(就像它上次一样...) – John3136 2014-12-03 02:12:56
我试图使用reset();但似乎没有任何工作。无论如何回到文件的第一行? – danny 2014-12-03 03:01:09