在我的最新项目中,我使用了一个名为“ atestfile.txt ”的 .txt 文件,该文件位于我创建的项目 /raw 文件夹中:这是它的内容:现在使用这几行简单的代码..我希望我的应用程序将文本文件中的单词逐行插入到我的 ArrayList 中,如这个问题的第一个答案所示。但是,没有面包会出现,甚至更糟的是,我会收到一个IndexOutOfBoundsException异常的test.get(3); 我使用的线路和应用程序崩溃。我一整天都试图摆脱这个错误,但还没有成功。所以因为这里有很多聪明的人,我很想了解这个问题,我想我会在把我的电脑扔出窗外之前先向你们寻求帮助。我将向你们提供我的错误消息、复制和可粘贴代码以及我的数据包结构,以获得有关此问题的更多帮助。package com.niklas.cp.citypopulation; final ArrayList<String> test = new ArrayList<String>(); try { Scanner scanner = new Scanner(new File("android.resource:// com.niklas.cp.citypopulation/raw/atestfile.txt")); while(scanner.hasNextLine()){ makeToast(scanner.nextLine(),1); test.add(scanner.nextLine()); } scanner.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } String abc = test.get(3); tv_highscore.setText(abc);
1 回答
倚天杖
TA贡献1828条经验 获得超3个赞
您在每个循环中两次调用 scanr.nextLine() ,但只将第二行添加到test,因此test只有三行。
你必须这样写
while(scanner.hasNextLine()) {
String s = scanner.nextLine();
makeToast(s,1);
test.add(s);
}
如果它抛出 FileNotFoundException 尝试以下
InputStream file = getResources().openRawResource(R.raw.atestfile);
Scanner scanner = new Scanner(file);
添加回答
举报
0/150
提交
取消