Java Android:从文本文件中读取以资产开头的行
我正在Android上读取一个包含数千行数据的文本文件。对于我想要阅读的每一行,将其拆分,保存到一个类中,然后将该类添加到arraylist中。这是我目前的代码:Java Android:从文本文件中读取以资产开头的行,java,android,file,Java,Android,File,我正在Android上读取一个包含数千行数据的文本文件。对于我想要阅读的每一行,将其拆分,保存到一个类中,然后将该类添加到arraylist中。这是我目前的代码: try { InputStream is = this.getAssets().open("assets.txt"); BufferedReader reader = new BufferedReader(new InputStreamReader(is)); String line; while (
try {
InputStream is = this.getAssets().open("assets.txt");
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
String line;
while ((line = reader.readLine()) != null) {
// use line variable
String[] assetLineSplit = line.split("\\t");
//Create object of assets
assetObjectClass assetObjects = new assetObjectClass();
assetObjects.setAssetNumber(assetLineSplit[0]);
assetObjects.setDepArea(assetLineSplit[2]);
assetCompleteList.add(assetObjects); //Array list
Log.i("test", assetObjects.getAssetNumber());
} catch (Exception e) {
Log.i("TEST", String.valueOf(e));
}
我从这个地方得到的。现在,在设置对象方面,事情似乎进展顺利,但我似乎只到了470,然后它终止了,就好像它没有完成一样
我已经检查了第470行,与其他行相比,没有空行或类似的行,所以我不知道为什么它会停在这个任意数量,或者它是否与其他东西有关
任何帮助都会很好 是抛出异常以使其完成,还是readLine返回null?我没想到要检查,干杯,我现在检查了,在我的catch语句中出现异常时抛出。它说java.lang.ArrayIndexOutOfBoundsException:length=25;指数=25,尽管我还不确定这意味着什么?我确实知道我肯定会更进一步,然后是25个元素?@JohnMcKenzie最初我认为这是由于您的控制台的“行限制”,但由于您有一个错误/异常,也许您可以向我们展示它是什么?@JohnMcKenzie在异常情况下,改为这样做:e.printStackTrace;并显示堆栈跟踪如果文件中的某行没有足够的制表符,则在尝试访问拆分数组assetLineSplit[2]时会崩溃。