2 回答
TA贡献1777条经验 获得超3个赞
在用元素填充数组之前,您正在打印数组。
您的计数器在循环的每次迭代中都
i
重置为。虽然使用具有固定数量元素的数组来读取未知长度的文本不是一个好主意,但还是使用一些动态数组,例如.0
while
ArrayList
确保您提供了正确的
.txt
文件路径。
所以你的代码可能是这样的:
Scanner sc = new Scanner(new File ("C:/correct/path/to/file/master_file.txt"));
List<String> listOfStrings = new ArrayList<String>();
while(sc.hasNextLine()) {
listOfStrings.add(sc.nextLine());
}
System.out.println(listOfStrings);
TA贡献1784条经验 获得超7个赞
输出为空,因为在尝试打印数组之前您从未分配过任何数组。我还将 i 移到循环之外,因此每次都不会重新初始化。此外,由于 ids 是一个数组,您需要使用 Arrays.toString(ids) 来打印它,或者您只需获取对象 id。
public static void main(String[] args) throws FileNotFoundException {
String[] ids = new String[100]; //array to store lines
int i = 0; // line index
try (Scanner sc = new Scanner(new File ("master file.txt"))) { // try resource
while(sc.hasNextLine()) { // check for next line
ids[i] = sc.nextLine(); // store line to array index
i++; // increment index
}
}
System.out.println(Arrays.toString(ids)); //print output.
}
添加回答
举报