在Java中读取CSV文件时出现空行
我在Android上开发这个应用已经有一段时间了,突然遇到了以下问题,尽管它以前很多次都不是问题 我正在用Java读取一个CSV文件,但当我打印该CSV文件每一行的日志时,似乎有一个空行,即使实际的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
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文件中导致此错误的部分。.我想您正在回答您的问题-这是您文件中的空行。当你试图用“,”来分割它时,很明显你的数组只有一个元素。你读过那篇文章吗?