在Java中读取CSV文件时出现空行

在Java中读取CSV文件时出现空行,java,android,csv,indexoutofboundsexception,Java,Android,Csv,Indexoutofboundsexception,我在Android上开发这个应用已经有一段时间了,突然遇到了以下问题,尽管它以前很多次都不是问题 我正在用Java读取一个CSV文件,但当我打印该CSV文件每一行的日志时,似乎有一个空行,即使实际的CSV文件中没有空行 以下是我读取文件的方式: InputStreamReader inputStreamReader; try { inputStreamReader = new InputStreamReader(getActivity().getAssets().open("My_fil

我在Android上开发这个应用已经有一段时间了,突然遇到了以下问题,尽管它以前很多次都不是问题

我正在用Java读取一个CSV文件,但当我打印该CSV文件每一行的日志时,似乎有一个空行,即使实际的CSV文件中没有空行

以下是我读取文件的方式:

InputStreamReader inputStreamReader;
try {
    inputStreamReader = new InputStreamReader(getActivity().getAssets().open("My_file.csv"));
    Scanner inputStream = new Scanner(inputStreamReader);
    inputStream.nextLine(); // Ignores the first line
    while (inputStream.hasNext()) {
        String data = inputStream.nextLine(); // Gets a whole line
        String[] line = data.split(","); // Splits the line up into a string array

        array.add(line[1]);
    }
    inputStream.close();
} catch (IOException e) {
    e.printStackTrace();
}
当我运行它时,我得到一个
ArrayIndexOutOfBoundsException
,在打印该行的
array.add(第[1]行]
之前输入一条日志消息后,我发现我的CSV文件中有一个空行(我检查它时没有)

有什么想法吗?

首先:

array.add(行[1])
将在每次有一行没有
时抛出一个
ArrayIndexOutOfBoundsException
。。。在阅读之前检查一下可能是个好主意。i、 e.
if(line.length>1){array.add(line[1]);}


只需这样做就可以为您修复多个错误。

请显示csv文件中导致此错误的部分。.我想您正在回答您的问题-这是您文件中的空行。当你试图用“,”来分割它时,很明显你的数组只有一个元素。你读过那篇文章吗?