Читать CSV-файл из папки Res - PullRequest
       1

Читать CSV-файл из папки Res

0 голосов
/ 16 октября 2019

Я пытаюсь открыть CSV-файл внутри проекта Android. Внутри папки 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 голосов
/ 16 октября 2019

Вы можете сделать что-то вроде этого ...

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]);
    }
}

В зависимости от количества столбцов (n) в вашем CSV-файле. Вы можете получить к нему доступ из индексов splittedString. splittedString [0] .... splittedString [n].

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...