web-dev-qa-db-ja.com

Javaでファイル拡張子を確認してください

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ファイルを選択してください!

コードのどこに問題があるのか​​わかりません。誰か助けてください。

28
Joe88

以下

_extension != Excel
_

あるべき

_!Excel.equals(extension)
_

または

_!Excel.equalsIgnoreCase(extension)
_

こちらもご覧ください

28
Jigar Joshi

==は、参照の等価性をテストします。値が等しいかどうかのテストには、.equalsを使用します。同等性テスト中にケースを無視する場合は、String#equalsIgnoreCaseを使用します。

別のこと:ひどく壊れていない限り、車輪を再発明しないでください。あなたの場合、Apache Commons ' FilenameUtils#isExtension を使用して拡張子を確認する必要があります。

7
missingfaktor
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!");
}
6
amicngh

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

3
Rajesh Pitty

使用する

Excel.equals(extension)

or

Excel.equalsIgnoreCase(extension)
3
Pramod Kumar

!=シンボルの代わりにequals()メソッドを使用します。書くことを意味する

if (!(extension.equals(Excel))){..........}
1
Chandra Sekhar

私のプログラムでそれをやった

if(file_name.endsWith(".xls") || file_name.endsWith(".xlsx"))
   // something works with file
1
Vitaly Vlasov

どう?

if (filename.endsWith("xls"){
    <blah blah blah>
}

0
kevlaria