我正在尝试在android项目中打开一个csv文件。 在res文件夹中,我创建了一个名为raw的新文件夹。
这是我的代码:
public File readFromFile(){
URL url = DemoReader.class.getResource("/res/raw/demosystemsoverview.csv");
if (url == null) {
throw new IllegalArgumentException("file is not found!");
} else {
File f = new File(url.getFile());
if (f.exists()){
return f;
}else{
throw new IllegalArgumentException("file does not exist!");
}
}
}
我没有找到文件未找到异常,但是我得到了文件不存在异常。 我的目标是使用bufferedReader,但我想必须先解决此问题。
答案 0 :(得分:0)
您可以执行以下操作...
List<String> list = new ArrayList<>();
List<String> splittedString = new ArrayList<>();
StringBuffer buffer = new StringBuffer();
InputStream in = this.getResources().openRawResource(R.raw.yourFile);
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
if (in !=null){
try {
while ((data = reader.readLine()) !=null){
buffer.append(data+"\n");
list.add(data);
}
gatheringData(list);
in.close();
}catch (Exception e){
e.printStackTrace();
}
}
private void gatheringData(List<String> list) {
for (String s : list){
splittedString = new ArrayList<>();
splittedString = Arrays.asList(s.split(",[ ]*"));
Log.d(TAG,splittedString[0]);
Log.d(TAG,splittedString[1]);
}
}
取决于csv文件中的column(n)数。您可以从splittedString索引访问它。 splittedString [0] .... splittedString [n]。