My Program は、テキスト ファイルをスキャンし、テキスト ファイルの値をデータベースに保存できる必要があります。次のようなコード行を読んだとします。
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 ファイルをフィルタリングできました。