使用 Java 列表数据类型显示文件夹列表



我需要在java中显示静态文件夹层次结构。我已经定义了一个文件夹类,必须使用相同的文件夹类。不允许使用File类!类文件夹为:

class Folder
{
    boolean isFile;
    String folderName;
    List<Folder> subFolders;
}

我尝试使用的代码是:

class LisF
{
    public static void main(String args[])
    {
        Folder a=new Folder("C:/hello");
        Folder b=new Folder("C:/one");
        Folder c=new Folder("C:/two");
        a.subFolders.add(b);
        b.subFolders.add(c);
        Iterator itr = a.subFolders.iterator();
        Iterator itr1= b.subFolders.iterator();
        while(itr.hasNext()) {
            Object element = itr.next();
            //System.out.print("The list is "+(Folder)element.putFName());
            System.out.println("The lis is "+element);
        }
    }
}

它运行并给出输出作为Folder@1234这无疑给出了对象的名称。但是我需要传递的字符串的名称,即显示hello的子文件夹,它应该显示一个,一个的子文件夹应该显示两个!但相反,我正在获取对象名称!!!

您应该在您想要/需要的类中实现 toString 方法,以便将对象打印为 String s。在这种情况下,您需要在 Folder 类中实现它:

class Folder {
    //class definition...
    @Override
    public String toString() {
        //implementation sample
        return this.folderName;
    }
}

最新更新