不可分割的日期格式?

时间:2014-02-04 06:50:17

标签: java gwt date-format gxt

public  void lvd() throws Exception {   
    SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy");
    Date currentTime = DateUtil.getTimestamp(new Date(), "00:00");
    String last=  formatter.format(currentTime);
    UtilLog.writeLVD(last);  //date.txt
}

这是用于读取当前日期并写入date.txt文件的代码。

String last=utilLog.readLVD();
SimpleDateFormat form = new SimpleDateFormat("dd-MM-yyyy");
lastVerificationTime = form.parse(last);

这里lastVDate是从文件中读取的一个字符串,我已经转换为日期格式。 有时候工作正常。但有时它会在异常后发生。你可以帮我解决这个问题。天气问题是从字符串中读取文件或解析日期?

java.text.ParseException: Unparseable date: "l??F[?14"
    at java.text.DateFormat.parse(Unknown Source)
    at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:543)
    at org.mortbay.jetty.servlet.Context.startContext(Context.java:136)
    at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1220)
    at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:513)
    at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448)
    at com.google.gwt.dev.shell.jetty.JettyLauncher$WebAppContextWithReload.doStart(JettyLauncher.java:468)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
    at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
    at org.mortbay.jetty.handler.RequestLogHandler.doStart(RequestLogHandler.java:115)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
    at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
    at org.mortbay.jetty.Server.doStart(Server.java:222)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
    at com.google.gwt.dev.shell.jetty.JettyLauncher.start(JettyLauncher.java:672)
    at com.google.gwt.dev.DevMode.doStartUpServer(DevMode.java:509)
    at com.google.gwt.dev.DevModeBase.startUp(DevModeBase.java:1093)
    at com.google.gwt.dev.DevModeBase.run(DevModeBase.java:836)
    at com.google.gwt.dev.DevMode.main(DevMode.java:311)




     public static void writeLVD(String LastDate) throws Exception {


    try {
        File file = new File(System.getProperty("APPLICATION_HOME") + "/temp.file");
        if (!file.exists()) {
            file.createNewFile();
        }

        FileWriter fw = new FileWriter(file.getAbsoluteFile());
        BufferedWriter bw = new BufferedWriter(fw);
        bw.write(LastDate);
        bw.close();


    } catch (IOException e) {
        logger.error(ListValueUtil.class.getName() + "",e );
    }
}

public  String readLVD() {
    File file = new File(System.getProperty("APPLICATION_HOME") + "/temp.file");
    FileInputStream fis = null;
    BufferedInputStream bis = null;
    DataInputStream dis = null;
    String key = null;
    try {
        fis = new FileInputStream(file);
        bis = new BufferedInputStream(fis);
        dis = new DataInputStream(bis);
        while (dis.available() > 0) {
            key = (String) dis.readLine();

        }
    } catch (IOException e) {
        logger.error(ListValueUtil.class.getName() + "",e );
e.printStackTrace();
    } finally {
        try {
            fis.close();
            bis.close();
            dis.close();
        } catch (IOException ex) {
            logger.error(ListValueUtil.class.getName() + "",ex );
            ex.printStackTrace();
        }
    }
    return key;
}

1 个答案:

答案 0 :(得分:0)

你的writeLVD(String LastDate)没有写出自己的论点。它写的是imlogLicenseKey

因此,看起来您正在尝试将许可证密钥解析为日期......以及您获得异常的原因。


您的代码中存在各种其他类似的暴行,包括:

  • 标识符样式违规(例如LastDate),
  • 将方法声明为抛出Exception
  • 潜在的资源泄漏和潜在的NPE由于您的流的草率处理。

阅读Java 7“尝试使用资源”。

仔细阅读(仔细!)您正在使用的流类上的close()方法的javadoc。