Android 读取CSV文件时发现异常结果
我想读CSV文件。问题是,当我打印一个值0或任何其他索引时,会出现令人尴尬的结果,正如您在快照上看到的那样。附快照。 读取此代码中的值: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
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
标题