Ответ 1
следующие
extension != excel
должен быть
!excel.equals(extension)
или
!excel.equalsIgnoreCase(extension)
См. также
Мне нужно импортировать данные из файла 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 != excel
должен быть
!excel.equals(extension)
или
!excel.equalsIgnoreCase(extension)
См. также
==
проверяет эквивалентное равенство. Для теста равенства ценности используйте .equals
. Используйте String#equalsIgnoreCase
, если вы хотите, чтобы случай не учитывался во время теста равенства.
Другое дело: не изобретать велосипед, если он не сломался. В вашем случае вы должны использовать Apache Commons FilenameUtils # isExtension, чтобы проверить расширение.
if (extension != excel){
JOptionPane.showMessageDialog(null, "Choose an excel file!");
}
следует использовать как
if (!extension.equals(excel)){
JOptionPane.showMessageDialog(null, "Choose an excel file!");
}
и
if (upload == "OK") {
JOptionPane.showMessageDialog(null,"Upload Successful!");
}
как
if ("OK".equals(upload)) {
JOptionPane.showMessageDialog(null,"Upload Successful!");
}
использовать
excel.equals(extension)
or
excel.equalsIgnoreCase(extension)
Вы можете использовать Apache Commons Api для проверки расширения файла
String filename = file.getName();
if(!FilenameUtils.isExtension(filename,"xls")){
JOptionPane.showMessageDialog(null, "Choose an excel file!");
}
http://commons.apache.org/io/api-release/index.html?org/apache/commons/io/package-summary.html
используйте equals() вместо символов != в вашем случае. Я имею в виду писать
if (!(extension.equals(excel))){..........}
Как насчет
if (filename.endsWith("xls"){
<blah blah blah>
}
?
В моей программе я сделал это
if(file_name.endsWith(".xls") || file_name.endsWith(".xlsx"))
// something works with file