0

我有一个 else if 循环,循环搜索文件扩展名以查看它是否匹配,如果不匹配,我希望它打印出消息,我尝试了 print 和 println,但它从不打印出消息,任何想法我做错了什么,除此之外,循环工作得很好

  if (extension.equals("txt"))
        {
            psInFormat = DocFlavor.INPUT_STREAM.AUTOSENSE;
        } else if (extension.equals("jpeg")) {
            psInFormat = DocFlavor.INPUT_STREAM.JPEG;
        } else if (extension.equals("png")) {
            psInFormat = DocFlavor.INPUT_STREAM.PNG;
        } else if (extension.equals("gif")) {
            psInFormat = DocFlavor.INPUT_STREAM.GIF;
        } else if (extension.equals("pdf")) {
            psInFormat = DocFlavor.INPUT_STREAM.PDF;
        } else if (extension.equals("html")) {
            psInFormat = DocFlavor.INPUT_STREAM.TEXT_HTML_HOST;
        } else { 
            System.out.print ("Sorry the printer does no support your file type, sorry") ;
        }
4

1 回答 1

3

代码没有问题,可以查看以下

  • extension是一个带有默认实现的Stringieequals()
  • 您提供的扩展名不是txt,jpeg,png,gif,pdf and html,因此可以打印消息

你会更好地做你的比较,以避免可能的NullPointerException和区分大小写的比较

if("txt".equalsIgnoreCase(extension)){
   //...
 }

最后,您可以尝试在任何条件之外打印调试语句,看看您是否可以在console

于 2013-02-13T23:58:07.050 回答