我正在尝试显示.ics文件的某些行。我将它视为文本文件。基本上我试图提取相关信息。 .ics / text-file包含以下信息:
BEGIN:VEVENT
VERSION:2.0
DTSTART:20161113T100000Z
DTEND:20161113T110000Z
DTSTAMP:20161126T142503Z
SUMMARY:Breakfast
DESCRIPTION:
END:VEVENT
我希望它在屏幕上显示日期,时间和摘要。我尝试通过逐行读取文件直到文件结尾并将第3行的“20161113”部分存储在三个整数中来完成此操作:日期,月份和日期。分别为2016,11和13.还有一个整数hhStart = 10和minStart = 00 / hhEnd = 11和minEnd = 00的开始和结束时间部分(T1000,T1100)。
另外,我想采用摘要“早餐”的文字。
最后,我只想在应用程序中看到一个简单的视图,其中选择的.ics / txt文件(包含多种格式化的事件)显示为:
13/11/2016:
早餐10:00 - 11:00
预约牙医12:00 - 13:00
14/11/2016:
与彼得午餐13:00 - 14:00
等
请注意日期格式为[dd / mm / yyyy]并使用24小时循环。
我似乎无法让eof()在whileloop中工作。
private void loadSavedFile(){
String TEXT = "test.ics";
String DTSTART = "DTSTART:";
String DTEND = "DTEND':";
String Summary = "SUMMARY";
try{
FileInputStream fis = openFileInput(TEXT);
BufferedReader reader = new BufferedReader( new InputStreamReader( new DataInputStream(fis) ) );
EditText editText = (EditText) findViewById(R.id.text);
String line;
while ( (line = reader.readLine()) != null ){
editText.append(line);
editText.append("\n");
}
} catch (Exception e){
e.printStackTrace();
showFile.setText("Cannot read file");
}
}