Android 读取CSV文件时发现异常结果

Android 读取CSV文件时发现异常结果,android,csv,Android,Csv,我想读CSV文件。问题是,当我打印一个值0或任何其他索引时,会出现令人尴尬的结果,正如您在快照上看到的那样。附快照。 读取此代码中的值: InputStream inputStream = getResources().openRawResource(R.raw.stats); FileReader csvFile = new FileReader(inputStream); List<String[]> scoreList = csvFile.re

我想读CSV文件。问题是,当我打印一个值0或任何其他索引时,会出现令人尴尬的结果,正如您在快照上看到的那样。附快照。

读取此代码中的值:

InputStream inputStream = getResources().openRawResource(R.raw.stats);
        FileReader csvFile = new FileReader(inputStream);
        List<String[]> scoreList = csvFile.read();

        for(String[] scoreData:scoreList ) {
            Toast.makeText(this, scoreData[1], Toast.LENGTH_SHORT).show();
        }
InputStream InputStream=getResources().openRawResource(R.raw.stats);
FileReader csvFile=新的FileReader(inputStream);
List scoreList=csvFile.read();
对于(字符串[]scoreData:scoreList){
Toast.makeText(this,scoreData[1],Toast.LENGTH_SHORT.show();
}
文件读取器类:

package com.example.zohaib.ultimatesmsblocker;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;

public class FileReader {
    InputStream inputStream;

    public FileReader(InputStream inputStream){
        this.inputStream = inputStream;
    }
    public List<String[]> read(){
        List<String[]> resultList = new ArrayList();

        BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
        try {
            String csvLine;
            while ((csvLine = reader.readLine()) != null) {
                String[] row = csvLine.split(",");
                resultList.add(row);
            }
        }
        catch (IOException ex) {
            throw new RuntimeException("Error in reading CSV file: "+ex);
        }
        finally {
            try {
                inputStream.close();
            }
            catch (IOException e) {
                throw new RuntimeException("Error while closing input stream: "+e);
            }
        }
        return resultList;
    }
}
package com.example.zohaib.ultimatesmsblocker;
导入java.io.BufferedReader;
导入java.io.IOException;
导入java.io.InputStream;
导入java.io.InputStreamReader;
导入java.util.ArrayList;
导入java.util.List;
公共类文件读取器{
输入流输入流;
公共文件读取器(InputStream InputStream){
this.inputStream=inputStream;
}
公共列表读取(){
List resultList=new ArrayList();
BufferedReader reader=新的BufferedReader(新的InputStreamReader(inputStream));
试一试{
弦线;
而((csvLine=reader.readLine())!=null){
字符串[]行=csvLine.split(“,”);
结果列表.添加(行);
}
}
捕获(IOEX异常){
抛出新的RuntimeException(“读取CSV文件时出错:“+ex”);
}
最后{
试一试{
inputStream.close();
}
捕获(IOE异常){
抛出新的RuntimeException(“关闭输入流时出错:“+e”);
}
}
返回结果列表;
}
}
CSV文件:

您尝试加载的文件不是
CSV
,而是
XLSX

并非每个Excel文件都是
CSV
文件。您需要使用Excel将其导出为
CSV

Excel的
.xlsx
文件实际上是
XML
格式的文件,打包在
ZIP
中。您看到的
PK
前两个字母代表
ZIP
标题