Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有人能告诉我为什么java代码没有进入if语句吗_Java - Fatal编程技术网

有人能告诉我为什么java代码没有进入if语句吗

有人能告诉我为什么java代码没有进入if语句吗,java,Java,大家好,我已经编写了一个代码,将位于不同文件夹中的xml文件中的内容输出到csv文件中。但是当没有xml文件时,我想返回一个找到“no files”的print语句 问题是我的代码只是拒绝进入主if语句,而总是执行else语句 下面是我的代码 public class XMLReadExtract { public void extract_XML_Data(String InputPath, File OutputPath, FileWriter fileWriter) throws

大家好,我已经编写了一个代码,将位于不同文件夹中的xml文件中的内容输出到csv文件中。但是当没有xml文件时,我想返回一个找到“no files”的print语句

问题是我的代码只是拒绝进入主if语句,而总是执行else语句

下面是我的代码

public class XMLReadExtract {

    public void extract_XML_Data(String InputPath, File OutputPath, FileWriter fileWriter) throws Exception {

        String COMMA_DELIMITER = ",";                                                   /* Delimiter used for csv */

        File root = new File(InputPath);
        File[] list = root.listFiles();                                                 /* To List all files in the Input Path */


        try{        
            if (list == null){
                System.out.println("No files to be read");
                return;
            }                                                                               // End of main If Statement

您应该检查您的状况:

if (list == null || list.length == 0) {

“为什么java代码没有进入if语句?”-嗯,这通常与条件有关……嗯,您需要询问您的问题
清除
,并发送有问题的部分代码,而不是全部代码!请把这个减少到一个数字。您已经发布了100多行代码,其中大部分与问题无关。接下来,
File.listFiles
的文档明确指出,如果找不到任何文件,它将返回一个0元素数组-只有当路径不存在或不是目录时,它才会返回null。感谢Christopher,我仅在以下情况下使用(list.length==0)