Я получаю три разных подстроки из идентификатора файла, названия компании и даты
, когда мне нужно сохранить отсортированные по дате значения в объекте.
Я получил и преобразовал строку в датуФормат, который мне нужен и хранится.вместо повторного извлечения каждый раз с помощью сортировки sql, пытаясь сохранить отсортированные по датам перед вставкой.
class ReadingFile
{
public static String input_path = ("C:\\Users\\RAVI\\Desktop\\Skills\\inputs");
public static String output_path = ("C:\\Users\\RAVI\\Desktop\\Skills\\outputs");
static BufferedReader br;
void read(){
SimpleDateFormat sdf = new SimpleDateFormat("hh:MM.ss");
SimpleDateFormat parsingSdf = new SimpleDateFormat("hh:MM.ss a");
ArrayList<Object[]> list = new ArrayList<Object[]>();
try
{
File fi = new File(input_path);
File[] fileCount = fi.listFiles();
for (int i = 0; i < fileCount.length; i++)
{
File file = fileCount[i];
if (file.isFile())
{
System.out.println("Total file count : " + fileCount.length);
String fileName = file.getName();
System.out.println("File name : " + fileName);
String data;
br = new BufferedReader(new FileReader(input_path + "\\"+ fileName));
while ((data = br.readLine()) != null)
{
if (data.contains(">"))
{
Object[] received = new Object[3];
String dat = data.substring(data.indexOf(" ") + 1,
data.indexOf("-") - 1);
// System.out.println(dat);
Date date = sdf.parse(dat.substring(
dat.indexOf(" "), dat.lastIndexOf(".")));
// System.out.println(date);
String timeFormat = parsingSdf.format(date);
// System.out.println(timeFormat);
received[0] = dat.substring(dat.indexOf("0"),dat.indexOf(" ") + 1)+ timeFormat;
// System.out.println(received[0]);
received[1] = data.substring(data.indexOf("<") + 1,data.indexOf(",") - 1);
// System.out.println(received[1]);
received[2] = data.substring(data.indexOf("Target"),data.lastIndexOf("."));
//System.out.println(received[2]);
list.add(received);
}
}
}
}
Пример ввода и соответствующий вывод добавлены ниже
input
(8834675) 06/01/2013 04:03.36.562 -->Successful password change for user=<U753838>, Password Target=<DOW>.
(8858218) 06/01/2013 07:18.42.312 -->Successful password change for user=<U640630>, Password Target=<DOW>.
(8893874) 06/01/2013 12:14.42.410 -->Successful password change for user=<U090521>, Password Target=<DOW>.
output
06/01/2013 04:03.36 AM U753838 Target=<DOW>
06/01/2013 07:06.42 AM U640630 Target=<DOW>
06/01/2013 12:02.42 AM U090521 Target=<DOW>