这是我的代码
import java.util.*;
import java.io.*;
public class LSArrayApp{
public static void main(String[] args){
System.out.println(ReadFile());
}
public static String[] ReadFile(){
try{
File myFile =new File("fileName.txt");
Scanner scan = new Scanner(myFile);
System.out.println("Scanner creation succesful");
}
catch(FileNotFoundException e){
System.out.println("File not found");
}
String[] data = new String[2976];
int lineNumber = 0;
while (scan.hasNextLine()){
data[lineNumber] = scan.nextLine();
lineNumber++;
return data;
}
每次我运行代码时,都会出现此错误:
java:找不到符号 符号:变量扫描 位置:类LSArrayApp
看来扫描器对象没有实例化,我不知道为什么。
答案 0 :(得分:2)
代码无法编译,因此您无法运行该程序。
在try块之外,变量“ scan”是未知的。您需要在try
之前声明它。
Scanner scan;
try
{
File myFile =new File("fileName.txt");
scan = new Scanner(myFile);
System.out.println("Scanner creation succesful");
}
catch(FileNotFoundException e)
{
System.out.println("File not found");
System.exit(1);
}
2)数组的大小固定。要读取大小未知的文件,可以改用ArrayList
类。
3)发生异常后,您应该退出程序,否则以下代码将由于未初始化扫描仪而失败。