Tengo que importar datos de un archivo de Excel a la base de datos y, para ello, me gustaría verificar la extensión del archivo elegido.Comprobar la extensión de archivo en Java
Este es mi código:
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!");
}
}
pero siempre me sale:
Elija un archivo de Excel!
No puedo encontrar lo que está mal con mi código, podría alguien por favor ayuda.
¿Qué valor se pone la variable 'extension'? Gran pregunta sobre comparaciones de cadenas: http://stackoverflow.com/questions/513832/how-do-i-compare-strings-in-java – maksimov
Como regla general, use 'equalsIgnoreCase()' siempre que vaya a verificar para la igualdad entre cadenas (suponiendo que desea ignorar el caso). – posdef
Eeek! Este código arrojará una 'StringIndexOutOfBoundsException' cuando encuentre un nombre de archivo sin ningún punto/período. –