从res文件夹读取csv文件

时间:2019-10-16 12:35:37

标签: java android file csv

我正在尝试在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,但我想必须先解决此问题。

1 个答案:

答案 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]。