我的程序需要能够扫描文本文件,并将文本文件的值存储到数据库中。 假设我读过一行看起来像这样的代码
3,95003,"ALLENDALE",,41.030902,-74.130957,2893
我希望能够调用字符串的一部分并将其存储为数据库值。我到底该怎么做?我已经知道如何阅读文本文件,但我需要知道如何过滤并只抓取其中的一部分。
在数据库中,我通常会通过这样做来添加一个值。
values.put("A", "B");
如何只将部分文本文件中的值读入B?
说我希望它显示values.put(“A”,“ALLENDALE”)。
答案:
AgencyString = readText();
tv = (TextView) findViewById(R.id.letter);
tv.setText(readText());
StringTokenizer st = new StringTokenizer(AgencyString, ",");
while (st.hasMoreElements()) {
tv.setText(st.nextToken());
}
}
private String readText() {
InputStream inputStream = getResources().openRawResource(R.raw.agency);
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
int i;
try {
i = inputStream.read();
while (i != -1) {
byteArrayOutputStream.write(i);
i = inputStream.read();
}
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
return byteArrayOutputStream.toString();
}
我的下一步是将这些值分隔成一个数组,并将它们读入我的数据库。我能够通过使用StringTokenizer方法过滤我的agency.txt文件并将'逗号'设置为我的分隔符。
答案 0 :(得分:2)
看看。使用分隔符“,”。 http://developer.android.com/reference/java/util/StringTokenizer.html http://developer.android.com/reference/java/lang/String.html#split(java.lang.String)
http://docs.oracle.com/javase/7/docs/api/java/util/StringTokenizer.html http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#split(java.lang.String,int)