我正在尝试将我的数组大小基于从具有未知数量的行的文本文件中读取的行数。我试过两次读取这个文件,第一次经过一个while循环并递增一个int,然后将它用于数组大小,但似乎并不奏效。然后,我试图将行的值放入列表中,并获取列表大小,但这也不起作用。任何帮助都会很棒。基于正在读取的文件的数组大小
第一次使用int来增加。我没有得到任何回报。
import java.io.*;
import java.util.*;
public class Scan {
public static void main(String args[]) throws IOException {
String routeName = " ";
String stationName = " ";
Scanner timetable = new Scanner(new File("fileName.txt"));
int i = 0;
while(timetable.hasNext()){
i++;
}
int count = 0;
String [] s = new String[i];
while (timetable.hasNext()) {
String line = timetable.nextLine();
s[count++] = line;
}
routeName = s[0];
stationName = s[1];
System.out.println(routeName.toString());
System.out.println(stationName.toString());
}
}
第二次使用列表。我得到一个NullPointerException。
import java.io.*;
import java.util.*;
public class Scan {
public static void main(String args[]) throws IOException {
String routeName = " ";
String stationName = " ";
Scanner timetable = new Scanner(new File("fileName.txt"));
List<String> list = new ArrayList<String>();
while(timetable.hasNext()){
list.add(timetable.next);
}
int i = list.size();
int count = 0;
String [] s = new String[i];
while (timetable.hasNext()) {
String line = timetable.nextLine();
s[count++] = line;
}
routeName = s[0];
stationName = s[1];
System.out.println(routeName.toString());
System.out.println(stationName.toString());
}
}
你需要使用一个数组吗?为什么不使用'List'? –