28

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

しかし、私はいつも得ます:

エクセルファイルを選択してください!

コードのどこが悪いのかわかりません。誰か助けてください。

4

8 に答える 8

28

続く

extension != excel

する必要があります

!excel.equals(extension)

また

!excel.equalsIgnoreCase(extension)

も参照してください

于 2012-06-07T08:38:39.203 に答える
7

==参照的に平等をテストします。値の同等性テストには、を使用します.equalsString#equalsIgnoreCase同等性テスト中にケースを無視する場合に使用します。

もう1つのこと:ひどく壊れていない限り、車輪の再発明をしないでください。あなたの場合、拡張機能をチェックするためにApache CommonsのFilenameUtils#isExtensionを使用する必要があります。

于 2012-06-07T08:45:17.950 に答える
6
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!");
}
于 2012-06-07T08:44:08.933 に答える
3

使用する

excel.equals(extension)

or

excel.equalsIgnoreCase(extension)
于 2012-06-07T08:43:19.087 に答える
3

ApacheCommonsApiを使用してファイル拡張子を確認できます

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

于 2012-06-07T09:50:57.793 に答える
1

あなたの場合、 !=シンボルの代わりにequals()メソッドを使用してください。私は書くことを意味します

if (!(extension.equals(excel))){..........}
于 2012-06-07T08:39:08.203 に答える
1

私のプログラムではそれをしました

if(file_name.endsWith(".xls") || file_name.endsWith(".xlsx"))
   // something works with file
于 2017-01-19T14:10:20.320 に答える
0

どうですか

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

于 2015-02-19T03:27:17.297 に答える