У меня есть база данных в виде текстового файла, моя задача - проанализировать текстовый файл и отобразить данные в виде списка. Я понятия не имею, с чего начать.
Вот пример записи.
"| 9251115 |, | 0 |, | ДЕТАЛИ |, ||, ||, | Текст заголовка Цена Текст |, ||, ||
Где каждый || представляет поле. Есть также HTML-теги между ценой заголовка и текстом (p, b)
Моей первой идеей было бы проанализировать его аналогично XML-документу, то есть создать новую строку, начинающуюся с «|», заполнить ее всем, что находится между, и завершить строку, когда она достигнет следующего »| ». Но я до сих пор не знаю, как это сделать.
EDIT:
Пока делаю это по одному шагу. Использование stringtokenizer для чтения его построчно и удаления «,» для начала. Столкнувшись с проблемой, текстовое представление для отображения результатов почему-то отображает false вместо отсканированного текста. вот мой код, если кому-то нужен хороший хедшкратер.
Context myContext;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView t = (TextView) findViewById(R.id.text);
st = new ArrayList<property>();
try
{
InputStream is;
is = myContext.getAssets().open("rooms.txt");
BufferedReader br = new BufferedReader(new InputStreamReader(is,"UTF-8"));
String read = br.readLine();
while( read != null)
{
StringTokenizer st = new StringTokenizer(read,",");
{
while(st.hasMoreTokens())
{
String a = st.nextToken();
String b = st.nextToken();
String c = st.nextToken();
String d = st.nextToken();
String e = st.nextToken();
String f = st.nextToken();
String g = st.nextToken();
String h = st.nextToken();
t.setText(a+" "+b+" "+c+" "+d+" "+e+" "+f+" "+g+" "+h);
}
}
}
}
catch(Exception e)
{
e.printStackTrace();
}