Joe*_*e88 28 java string if-statement
我必须将数据从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!");
}
}
Run Code Online (Sandbox Code Playgroud)
但我总是得到:
选择一个excel文件!
我找不到我的代码有什么问题,请有人帮忙.
Jig*_*shi 28
以下
extension != excel
Run Code Online (Sandbox Code Playgroud)
应该
!excel.equals(extension)
Run Code Online (Sandbox Code Playgroud)
要么
!excel.equalsIgnoreCase(extension)
Run Code Online (Sandbox Code Playgroud)
也可以看看
==测试参考平等.对于价值平等测试,请使用.equals.String#equalsIgnoreCase如果您希望在相等测试期间忽略大小写,请使用.
另一件事:不要重新发明轮子,除非它被严重破坏.在您的情况下,您应该使用Apache Commons的FilenameUtils#isExtension来检查扩展名.
if (extension != excel){
JOptionPane.showMessageDialog(null, "Choose an excel file!");
}
Run Code Online (Sandbox Code Playgroud)
应该用作
if (!extension.equals(excel)){
JOptionPane.showMessageDialog(null, "Choose an excel file!");
}
Run Code Online (Sandbox Code Playgroud)
和
if (upload == "OK") {
JOptionPane.showMessageDialog(null,"Upload Successful!");
}
Run Code Online (Sandbox Code Playgroud)
如
if ("OK".equals(upload)) {
JOptionPane.showMessageDialog(null,"Upload Successful!");
}
Run Code Online (Sandbox Code Playgroud)