- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我是一个初学者,我有一个txt文件,用户将其导入到java中,我将逐行读取txt文件,然后在每一行上设置变量基并将它们添加到当前记录中
public void importTXT() {
JFileChooser fc = new JFileChooser();
fc.setAcceptAllFileFilterUsed(false);
fc.setMultiSelectionEnabled(false);
FileNameExtensionFilter filter = new FileNameExtensionFilter(
"TEXT FILES", "txt", "text");
fc.setFileFilter(filter);
int returnVal = fc.showOpenDialog(CollectionFrame.this);
String[] numstrs = null;
if (returnVal == JFileChooser.APPROVE_OPTION) {
File importedFile = fc.getSelectedFile();
try {
Scanner sc = new Scanner(importedFile);
while (sc.hasNextLine()) {
numstrs = sc.nextLine().split("\\s+"); // split by white
// space
}
} catch (IOException e) {
}
// add new collection
Collection newCollection = new Collection(numstrs[0]);
allRecord.addCollection(newCollection);
// add art consignment information
String consignmentName = numstrs[3];
String description = numstrs[4];
我在倒数第二行收到一个ArrayIndexOutOfBoundsException
字符串寄售名称 = numstrs[3];
文本文件的内容如下:
Richman’s Estate Collection
5
ART
Water Lilies
A superb piece in great condition
谁能告诉我出了什么问题吗?
最佳答案
编辑:您当前正在读取所有行并每次替换 numstrs
的值因此,当您离开循环时,您只会获得其中最后一行的值。
我想你想保存所有行 - 见下文。
结束编辑
你应该使用数组列表。
像这样:
ArrayList<String[]> numstrsList = new ArrayList<String[]>();
if (returnVal == JFileChooser.APPROVE_OPTION) {
File importedFile = fc.getSelectedFile();
try {
Scanner sc = new Scanner(importedFile);
while (sc.hasNextLine()) {
numstrsList.add(sc.nextLine().split("\\s+")); // split by white
// space
}
} catch (IOException e) {
}
}
您可以使用以下方法捕获数组列表的值:
for(int i=0:i<numstrsList.size();i++){
String[] oneLineStrArray = numstrsList.get(index)
//do something
}
您应该发布文本数据,否则我们无法帮助您解决 OutOfBounds 错误。另外,我想知道如何实例化一个集合。
关于JAVA:读取导入的 txt 时出现 ArrayIndexOutOFBoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26547813/
我正在尝试模拟终端/文件系统。现在我正在解析和标记命令。 我正在尝试确定什么被视为有效命令。我的策略是检查输入数组中的索引 2 元素是否是字符串“empty”以外的任何内容。如果是,我的 checkV
这是我计算 n 的斐波那契数的代码。当 n = 0、ArrayIndexOutOfBoundException 引发时,我不明白。从 fib 函数中,当 n = 0 时,它应该返回 0。这是什么原因造
我创建了一个像这样的堆栈类。有时它会运行,有时会通过 ArrayIndexOutofBoundException 运行。线程中有什么问题?不太明白,请帮忙。 public class StackImp
如果我正在数组中查找某个值(针),并且该值不存在于该数组中,我将收到 java.lang.ArrayIndexOutOfBoundsException。 (见下面的代码)如果该值存在于数组中,它就可以
我编写了一个简单的代码来理解手动传递值,这是我的代码 public class coba{ public static void main (String[] args){ i
我的任务是编写一个函数来重新排列数组,以便奇数从大到小出现在数组的开头,偶数从最小到最大出现在数组的末尾。除了标准输入和输出流之外,我们不允许使用任何其他库。 当数字为:时输出有效: {-15, 45
只要位置到达某个点,此代码就会不断抛出 ArrayOutBoundsException 40。有时程序运行良好。 //method to get player movement around the
我目前正在使用 hsqldb。我的创建语句如下所示: CREATE TABLE Movie ( movieId INTEGER GENERATED BY DEFAULT AS IDENTITY
我得到了这个奇怪的异常,我真的不明白为什么..我尝试调试并发现它在运行时出错了: opt[i][j] = Double.POSITIVE_INFINITY; 并且当 i == 0 和 j == 1 时
输入是 1000:rohit:male:dev:2500 在此我想数一数男性和女性的数量。当我使用 split 时,将每个性别字段分配给 reducer 显示 ArrayIndexOutOfBounf
如果我们创建一个如下所示的虚拟 ArrayList 并使用 -1 和 1 作为参数调用 get 方法。然后我们得到以下输出: 对于测试用例 1:它抛出 ArrayIndexOutOfBoundExce
在我的回历应用程序中,如果我单击下个月按钮并到达年底(即最后一个月),或者如果我单击上个月按钮直到到达年初(即第一个月),应用程序崩溃并抛出 java.lang.ArrayIndexOutOfBoun
这里的异常是 IndexOutOfBoundsException: public static void main(String[] args) { List elements = new A
我正在尝试构建一个应用程序,如果用户单击一个按钮,它将显示一个带有 multiChoiceItems 的警告对话框, 我从 ArrayList(已转换为数组字符串)中为 multiChoiceItem
public class ReadToHashmap { public static void main(String[] args) throws Exception { Map map =
我一直在研究Magic Square的形成,在阅读了算法之后,我发现在形成MagicSquare时需要遵循一定的规则。 我遵循的算法是: The magic constant will always
堆栈跟踪很长,但这是相关部分。 Caused by: java.lang.ArrayIndexOutOfBoundsException: 33 at java.lang.String.equals
我是java开发领域的初学者,但我仍然是Java编程的学习者。我想在 netbeans IDE 上查看支持 vector 机分类器的输出。因此,我复制了这段附加的代码,并尝试使用所有其他必需的类和主方
这个问题已经有答案了: What causes a java.lang.ArrayIndexOutOfBoundsException and how do I prevent it? (25 个回答)
我正在做一个 TicTacToe 程序,现在我正在使用菜单来更改棋盘的大小(从 3x3 到 9x9 的任意位置),我需要在添加新按钮之前删除当前使用的按钮。在循环尝试删除它们时,我收到此错误: Exc
我是一名优秀的程序员,十分优秀!