Я собираюсь начать с публикации того, как выглядят данные из текстового файла, это всего лишь 4 строки, на самом деле файл имеет длину в пару сотен строк.
Friday, September 9 2011 5:00AM - 11:59PM STH 1102 HOLD DO NOT BOOK
Report Printed on 9/08/2011 at 2:37 PM Page 1 of 1
Friday, September 9 2011 5:00AM - 11:00PM STH 4155 (BOARDROOM) HOLD - DO NOT BOOK
Hold - Do Not Book Report Printed on 9/08/2011 at 2:37 PM Page 1 of 1
Friday, September 9 2011 5:00AM - 11:59PM UC 2 (COMPUTER LAB) HOLD DO NOT BOOK
do not book Report Printed on 9/08/2011 at 2:37 PM Page 1 of 1
Friday, September 9 2011 5:00PM - 11:00PM AH GYM USC ORIENTATION 2011 - REVISED
USC Orientation 2011 Report Printed on 9/08/2011 at 2:37 PM Page 1 of 1
Каждый небольшой фрагмент текста находится в одной строке в текстовом файле, разделенной множеством пробелов, которые по какой-то причине не отображаются в формате вопроса. Я буду использовать первый раздел текста в качестве примера того, какие данные я пытаюсь использовать. чтобы получить.
Вот данные, которые я хотел бы получить из файла Friday
, 5:00
, 11:59
, STH 1102
, HOLD DO NOT BOOK
, а затем проигнорировать чтение строки, всю информацию во 2-й строке части текста тоже игнорировать, но в самом текстовом файле все это в одной строке. и затем с этими данными, я хотел бы сохранить каждый кусок в переменную. Или вместо этого часть данных, которая говорит HOLD DO NOT BOOK
, иногда форматируется следующим образом: DO NOT BOOK
, HOLD - DO NOT BOOK
, если регулярное выражение находит какой-либо из тезисов, оно может игнорировать все данные в этой строке до и после.
Также, если бы я мог, я бы хотел взять времена, в которых есть PM, и добавить к ним 12, чтобы они были в 24-часовом формате.
Вот как я сейчас читаю строки целиком. И тогда я просто вызываю эту функцию, как только пользователь поместил путь в поле scheduleTxt JText. Он может читать и печатать каждую строку в порядке.
public void readFile () throws IOException
{
try
{
FileInputStream fstream = new FileInputStream(scheduleTxt.getText());
DataInputStream in = new DataInputStream(fstream);
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String strLine;
while ((strLine = br.readLine()) != null)
{
System.out.println (str1);
}
in.close();
}
catch (Exception e){
System.err.println("Error: " + e.getMessage());
}
}
В этом вопросе я знаю, надеюсь, вы понимаете, о чем я спрашиваю, если что-то неясно, просто спросите: спасибо! Говядина.
Обновление: Я просто подумал, что, возможно, это поможет объяснить мои намерения в отношении этих данных, сначала я буду конвертировать любое время PM в 24-часовой формат, а затем в соответствии с 4-м фрагментом данных ( STH 1102
) Я вызываю функцию вставки, которая будет использовать драйвер ODBC для вставки других данных из строки в базу данных