【发布时间】:2012-06-11 07:19:42
【问题描述】:
我必须将数据从 Excel 文件导入数据库,为此,我想检查所选文件的扩展名。
这是我的代码:
String filename = file.getName();
String extension = filename.substring(filename.lastIndexOf(".") + 1, filename.length());
String excel = "xls";
if (extension != excel) {
JOptionPane.showMessageDialog(null, "Choose an excel file!");
}
else {
String filepath = file.getAbsolutePath();
JOptionPane.showMessageDialog(null, filepath);
String upload = UploadPoData.initialize(null, filepath);
if (upload == "OK") {
JOptionPane.showMessageDialog(null, "Upload Successful!");
}
}
但我总是得到:
选择一个excel文件!
我找不到我的代码有什么问题,请有人帮忙。
【问题讨论】:
-
extension变量得到什么值?关于字符串比较的好问题:stackoverflow.com/questions/513832/… -
作为一个经验法则,当您要检查字符串之间的相等性时使用
equalsIgnoreCase()(假设您确实想忽略大小写)。 -
哎呀!当遇到没有任何点/句点的文件名时,此代码将抛出
StringIndexOutOfBoundsException。 -
使用 != 比较字符串的愚蠢代码,但无论如何文件扩展名检查代码都有帮助
标签: java string if-statement