我试图通过lastModified日期过滤文件搜索程序,使用Epoch值作为比较。NumberFormatException:对于输入字符串
当我尝试执行此,它给了我下面的错误:
Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: "1408350905359"
显然,我的变量的初始值是空的,我已经被告知,以确保做一个验证或例外,以使其不......呃,是空的。事情是,我吮吸,不能。我会发布我遇到问题的代码。有人可以帮忙吗?
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt)
{
String direcdate=direc1.getText();
String Phrase = (" Pastas/Ficheiros em: '" + direcdate + " ----- : ' ");
File folder = new File(direcdate);
File[] listOfFiles=folder.listFiles();
for (File listOfFile : listOfFiles)
{
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
long epoch = System.currentTimeMillis();
String str = ultimaalt.getText();
int q =Integer.valueOf(str);
long DIAS = q*86400000;
long currentdate;
currentdate = epoch - (q*DIAS);
String lastmodstr;
lastmodstr = valueOf(listOfFile.lastModified());
//NAO CONSIGO METER ESTA MERDA A FUNCIONAR
// PRECISO DUM TRY CATCH EXCEPTION
// AGORA QUAL?
// fml.exe
int lastmodint;
lastmodint=Integer.valueOf(lastmodstr);
if (lastmodint<= currentdate)
{
if(listOfFile.isFile())
{
Phrase = (Phrase + " \n -->"
+ listOfFile.getName()
+ " Ultima alteração:"
+ sdf.format(listOfFile.lastModified())
+ ". ");
} else if (listOfFile.isDirectory()) {
Phrase = (Phrase + " \n -->"
+ listOfFile.getName()
+ "(Pasta)" + " Ultima alteração:"
+ sdf.format(listOfFile.lastModified())
+ ". ");
} else {}
}
}
jTextPane1.setText(Phrase); // TODO add your handling code here:
}
编辑:
固定!
答案正在发生变化:
int lastmodint;
lastmodint=Integer.valueOf(lastmodstr);
到
Long lastmodint;
lastmodint=Long.valueOf(lastmodstr);
谢谢!需要
您的字符串不表示任何“int”值。试试'long',或者'BigInteger'。 – 2014-10-01 09:49:01
谢谢!有效!因为某些原因,我忘记了这个时代的价值通常超过了整个国际门槛! – 2014-10-01 10:03:16