-3

这是我刚学java的test.txt文件。我想从此文件中搜索最新或最长的日期和时间。我的项目因此被困在这里,请帮助我。

Event Date and Time="2013/06/24 16:53:45"
Event Date and Time="2013/06/24 16:53:46"
Event Date and Time="2013/06/24 16:53:41"
Event Date and Time="2013/06/24 16:53:33"
Event Date and Time="2013/06/24 16:53:25"

这是我在while循环中所做的代码,我无法理解,请帮助我

try {


        FileInputStream fstream1 = new FileInputStream(file); 
            DataInputStream in1= new DataInputStream(fstream1); 
            BufferedReader bf = new BufferedReader(new InputStreamReader(in1));
        String line;
        line=bf.readLine();
        boolean myheader = checkHeader(line.trim());

            if(!myheader)
            {

            while (( line = bf.readLine()) != null)

            {


               }
                 }
       catch(Exception)
                {
                     }


            private static boolean checkHeader(String headerString) {
    boolean result = true;
    String[] headerElements = headerString.split(":");
    List<String> list = new ArrayList<String>();
    for(int i = 0; i < headerElements.length; i++){
        if(i != headerElements.length - 1)
            list.add(headerElements[i] + ":");
        else
            list.add(headerElements[i]);
    }

    for(String listElements : list){
        if(!HEADER.contains(listElements)){
            result = false;
            break;
        }
    }
    return result;
}
4

2 回答 2

2

这是给你的一些伪代码,因为我不明白你的代码。

ArrayList ls = new ArrayList<String>();
Date date1 = null, date2 = null;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd hh:ss:SS");

ls.add("2013/06/24 16:53:45");
ls.add("2013/06/24 16:53:46");
ls.add("2013/06/24 16:53:41");
ls.add("2013/06/24 16:53:48");

try {
    date1 = sdf.parse((String) ls.get(0));
} catch (ParseException e1) {
    e1.printStackTrace();
}

for (int i = 1; i < ls.size(); i++) {
    try {
        date2 = sdf.parse((String) ls.get(i));
    } catch (ParseException e) {
        e.printStackTrace();
    }

    if (date2.compareTo(date1) > 0) {
        date1 = date2;
    }
}

System.out.println("Latest Date :::::" + sdf.format(date1));

我希望这有帮助。如果您有任何问题,请提出。

于 2013-06-27T13:56:28.183 回答
1

通过迭代循环迭代您的文件存储值以列出和比较日期值。

于 2013-06-27T12:30:22.530 回答