Dateien nach Datum sortieren

Caruso_Nix

Mitglied
Hi,
ich möchte die Dateien eines Verzeichnisses nach dem Datum absteigend sortiert haben.
ich bekomme aber bisher immer nur die Dateien aufgelistet nach Namen sortiert.
Hat jemand einen Tipp?
danke caruso-
Code:
File dir = new File(workdir);
   if (dir != null)
   {
	fileList = dir.list();
	if (fileList.length > 0)
	 return fileList;
	else return null;
   }
   else return null;
 
Hallo,

deine fileList enthält doch nur die Dateinamen, denn das machst du mit
Code:
fileList = dir.list();
Benutze doch ein File[] statt des String[] und dann hast du mit
Code:
fileList = dir.listFiles();
Zugriff auf benötigte Methoden wie .lastModified()
 
Hallo!

Schau mal hier:
Code:
package de.tutorials;

import java.io.File;
import java.util.Arrays;
import java.util.Comparator;

public class Test04 {

	public static void main(String[] args) {
		File file = new File("c:/");
		File[] files = file.listFiles();

		//Neuere Datei oben ...
		Arrays.sort(files, new Comparator() {
			public int compare(Object o1, Object o2) {
				File f0 = (File) o1, f1 = (File) o2;
				long last0 = f0.lastModified(), last1 = f1.lastModified();
				if (last0 > last1) {
					return 1;
				} else if (last0 < last1) {
					return -1;
				} else {
					return 0;
				}
			}
		});
		
		for (int i = 0; i < files.length; i++) {
			System.out.println(files[i]);
		}
	}
}

Gruß Tom
 
Vielen Dank, das war genau das, was ich suche

Allerdings wird in deiner Variante der ganze Pfad+Dateiname übergeben. Ich möchte allerdings nur den Dateinamen ohne den Pfad!
Wie geht denn das? Ein substring ist nicht möglich, da der Pfadname variieren kann.

caruso
 
Zuletzt bearbeitet:
Zurück