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;
}
答案 0 :(得分:0)
你的writeLVD(String LastDate)
没有写出自己的论点。它写的是imlogLicenseKey
。
因此,看起来您正在尝试将许可证密钥解析为日期......以及您获得异常的原因。
您的代码中存在各种其他类似的暴行,包括:
LastDate
),Exception
和阅读Java 7“尝试使用资源”。
仔细阅读(仔细!)您正在使用的流类上的close()
方法的javadoc。