簡體   English   中英

在Java中讀取CSV文件時為空行

[英]Blank lines when reading CSV file in Java

我已經在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(line[1]) ,在打印該行之前,我發現CSV文件中有一個空白行(當我檢查了)。

有任何想法嗎?

首先:

array.add(line[1])是要拋出一個ArrayIndexOutOfBoundsException每次你有沒有一個線時間, ...可能會試圖讀取它之前檢查是一個好主意。 if(line.length > 1) { array.add(line[1]);}

只是這樣做會為您解決多個錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM