Jak mogę uporządkować listę katalogów według nazwy, rozmiaru i ostatniej modyfikacji?

Próbuję tylko dowiedzieć się, jak mogę uporządkować listę katalogów według jej nazwy, czasu ostatniej modyfikacji i rozmiaru. Wiem, że możesz uzyskać dostęp do nazwy pliku, rozmiaru, ostatniej modyfikacji metodami File, ale nie jestem pewien, jak to zrobić. Gdyby ktoś mógł wskazać mi właściwy kierunek, byłoby świetnie.

public void printDirectoryContents(String path, PrintWriter writer)
{
    File[] list = root.listFiles();
    Arrays.sort(list);

    for ( File f : list )
    {           
        String name = f.getName();
        long lastmod = f.lastModified();
        SimpleDateFormat simple = new SimpleDateFormat("dd-MMM-yyyy HH:mm");
        String formatted = simple.format(new Date(lastmod));
        long length = f.length();

    }
}

questionAnswers(6)

yourAnswerToTheQuestion