我的csv文件包含这样的内容
22,Boy,"Sri shandarachary, founder of adwaitha philosophy",Aadhishankar,Bengali
因为令牌内有逗号,这就是为什么我得到错误结果的原因,它得到名称的描述而不是名称本身
它在单个令牌中有逗号,但用“”括起来
private List<BabyName> readData() {
List<BabyName> babyNames = new ArrayList<>();
InputStream is = getResources().openRawResource(R.raw.babynames);
BufferedReader reader = new BufferedReader(
new InputStreamReader(is, Charset.forName("UTF-8"))
);
String line = "";
try {
reader.readLine();
String mGender, mMeaning, mName, mOrigin;
while ((line = reader.readLine()) != null) {
Log.d("MyActivity", "Line: " + line);
String[] tokens = line.split(",");
mGender = tokens[1];
mMeaning = tokens[2];
mName = tokens[3];
mOrigin = tokens[4];
BabyName babyName = new BabyName(mGender, mMeaning, mName, mOrigin);
babyNames.add(babyName);
Log.d(TAG, "Just created: " + mGender + mMeaning + mName + mOrigin);
}
database.babyDao().insertAll(babyNames);
} catch (IOException e) {
Log.wtf("MyActivity", "Error reading data file on line" + line, e);
e.printStackTrace();
}
return babyNames;
}
这是我的github repo plese,随时提出请求请求!在这方面需要帮助
@Nullable private List<BabyName> readData() {
InputStream in = null;
BufferedReader reader = null
try {
List<BabyName> babyNames = new ArrayList<>();
// open input stream to raw resource
in = = getResources().openRawResource(R.raw.babynames);
// create a reader from it
reader = new BufferedReader(new InputStreamReader(in));
// parse as CSV
CSVParser parser = CSVParser.DEFAULT.parse(reader);
// get records
for(CSVRecord record : parser){
// Use the record.get(...) methods to get the column values
// create BabyName from CSVRecord
BabyName babyName = BabyName.fromCSVRecord(record);
// Do whatever you want with the object
// let's add it to the list of names
babyNames.add(babyName);
}
return babyNames;
} catch(Exception ex){
Log.e(ex);
return null;
} finally {
// always release the inputstream and reader
Utils.closeSilently(reader);
Utils.closeSilently(in);
}
}
确保在https://commons.apache.org/proper/commons-csv/archives/1.5/apidocs/index.html上查看文档
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句