私はnetbeansでアンドロイドアプリを開発しています。 opencsvを使ってCSVファイルを読み込もうとしています。ファイルをリソースフォルダに入れてそこから読み込もうとすると、無効なリソースディレクトリの作成中にエラーが発生します。どこでcsvファイルを保存すれば、アプリが起動するたびに読み込むことができますか?あなたは資産フォルダ内のCSVファイルを置くべきリソースフォルダ内のCSVファイルを読むandroid
6
A
答えて
7
..
InputStreamReader is = new InputStreamReader(getAssets()
.open("filename.csv"));
BufferedReader reader = new BufferedReader(is);
reader.readLine();
String line;
while ((line = reader.readLine()) != null) {
}
1
あなたがあなたのプロジェクトに http://sourceforge.net/projects/opencsv/files/latest/download
およびインポートからcsvreaderファイルをダウンロードすることができる
try {
InputStream csvStream = assetManager.open(CSV_PATH);
InputStreamReader csvStreamReader = new InputStreamReader(csvStream);
CSVReader csvReader = new CSVReader(csvStreamReader);
String[] line;
// throw away the header
csvReader.readNext();
while ((line = csvReader.readNext()) != null) {
questionList.add(line);
}
} catch (IOException e) {
e.printStackTrace();
}
このコードを使用することができます
7
いくつかのアドバイス
- csvに1つの行データを保持するオブジェクトを作成します。 (
Ex: YourSimpleObject
。データを簡単に管理できます。) - ファイルを行単位で読み込んでオブジェクトに割り当てます。リストするオブジェクトを追加します。 (例:
ArrayList<YourSimpleObject >
)
コード:
opencsv使用private void readAndInsert() throws UnsupportedEncodingException {
ArrayList<YourSimpleObject > objList= new ArrayList<YourSimpleObject >();
AssetManager assetManager = getAssets();
InputStream is = null;
try {
is = assetManager.open("questions/question_bank.csv");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
BufferedReader reader = null;
reader = new BufferedReader(new InputStreamReader(is, Charset.forName("UTF-8")));
String line = "";
StringTokenizer st = null;
try {
while ((line = reader.readLine()) != null) {
st = new StringTokenizer(line, ",");
YourSimpleObject obj= new YourSimpleObject();
//your attributes
obj.setX(st.nextToken());
obj.setY(st.nextToken());
obj.setZ(st.nextToken());
obj.setW(st.nextToken());
objList.add(sQuestion);
}
} catch (IOException e) {
e.printStackTrace();
}
}
0
:代替手段として
InputStream is = context.getAssets().open(path);
InputStreamReader reader = new InputStreamReader(is, Charset.forName("UTF-8"));
List<String[]> csv = new CSVReader(reader).readAll();
1
を、uniVocityParsersを見てみましょう。区切られたファイルを解析するための膨大な数の方法を提供します。この例では、res/rawフォルダからCsvファイル(下の図を参照)をInputStreamオブジェクトにロードし、それを月単位で読み込みます(key = Column & value = ColumnValuesのマップ)。
//Gets your csv file from res/raw dir and load into a InputStream.
InputStream csvInputStream = getResources().openRawResource(R.raw.calendario_bolsa);
//Instantiate a new ColumnProcessor
ColumnProcessor columnProcessor = new ColumnProcessor();
//Define a class that hold the file configuration
CsvParserSettings parserSettings = new CsvParserSettings();
parserSettings.getFormat().setLineSeparator("\n");
parserSettings.setHeaderExtractionEnabled(true);
parserSettings.setProcessor(columnProcessor);
//Creates a new CsvParser, passing the settings into its construtor:
CsvParser csvParser = new CsvParser(parserSettings);
//Calls parse method, instantiating an InputStreamReader, passing to its constructor the InputStream object
csvParser.parse(new InputStreamReader(csvInputStream));
//Gets the csv data as a Map of Column/column values.
Map<String, List<String>> columnarCsv = columnProcessor.getColumnValuesAsMapOfNames();
あなたのAndroidプロジェクトにunivocityParsersを追加するには:
compile group: 'com.univocity', name: 'univocity-parsers', version: '2.3.0'
関連する問題
- 1. Android AppでCSVファイルを読む
- 2. CSVファイルを読む?
- 3. エラー読むファイルCSV
- 4. .xlsxファイルの内容を読むandroid
- 5. TensorFlowでCSVファイルを読む
- 6. csvファイルをC++で読む
- 7. Laravel 5.4 - csvファイルを読む
- 8. PythonでCSVファイルを読む
- 9. CSVファイルを読むには?
- 10. PythonでCSVファイルを読む
- 11. リソースフォルダ内のJava write .txtファイル
- 12. SpringBootでリソースフォルダにあるファイルを読み込む
- 13. CSVインポート/読書ファイル - Androidの
- 14. jbossサーバーアプリケーションのリソースフォルダ内のxsdファイルを読み取れません
- 15. フォルダ内の複数のcsvファイルからtimeseriesを読み込む:
- 16. C - char配列のCSVファイルを読む
- 17. PHPでCSVファイルのデータを読む
- 18. Javascript d3.jsローカルのCSVファイルを読む
- 19. csvファイルの一部を読む
- 20. angularjsのXlsxとcsvファイルを読む
- 21. C:複数のCSVファイルを読む
- 22. ファイルをアップロードしてandroidのファイルの内容を読む方法
- 23. Androidのファイルを読む
- 24. CSVファイルを読み込んでCSVファイルに書き込む
- 25. fgetsを使って.CSVファイルを読む
- 26. JavaScriptを使ってcsvファイルを読む
- 27. リソースフォルダからファイルを読み取る
- 28. Pythonでマルチティアcsvファイルを読む
- 29. csvファイルをDataTableに読み込む
- 30. Spark 2.1.0:圧縮CSVファイルを読む