Я потратил много времени в поисках простого решения и сам придумал этот кусочек кода. Для будущих людей, ищущих это, как я, вы можете использовать это:
BufferedReader in = new BufferedReader(your csv file source here);
String reader = "";
while ((reader = in.readLine()) != null){
String[] RowData = reader.split(",");
date = RowData[0];
value = RowData[1];
ContentValues values = new ContentValues();
values.put(CsvProvider.DATE, date);
values.put(CsvProvider.VALUE, value);
getContentResolver().insert(CsvProvider.CONTENT_URI, values);
}
in.close();
Мой CSV
файл не имеет заголовков и имеет только 2 столбца, но более двух столбцов не должно быть проблемой. Просто не забудьте указать, что разделяет ваши столбцы, и для каждого столбца добавьте еще RowData[#]
(вы должны начать с 0). Вы хотите удостовериться, что все, что вы собираетесь делать с каждой строкой, выполнено, прежде чем вы позвоните in.close()
. Я использую контент-провайдера, но вы действительно можете делать с данными все, что захотите, например добавить их к String[]
или к чему-либо еще.
Пока я использую поток ввода, вы можете направить BufferedReader куда угодно. Пока BufferedReader
может прочитать его, оно будет работать.