zuletzt erstellte oder gänderte Datei auswählen!

Status
Nicht offen für weitere Antworten.

Der_Türke

Mitglied
Hallo liebe Leute


ich hab nun ein Algorithmen Problem. Ich erstell mir mit File die liste der Dateien in dem Ordner, mit lastmodified bekomm ich das Datum in Long der Dateien die ich wiederum umwandel in Date

Code:
File file= new File("D:/server/htdocs/playground/ticketchart/tab/");
	  			File[] fileArray=file.listFiles();
	  			
	  			long[] tabdateien =new long[fileArray.length];
	  			
	  			
	  			boolean neuedatei=false;
	  			boolean altedatei=false;
	  			for(int k=0;k<fileArray.length;k++)
	  			{   
	  				tabdateien[k]=fileArray[k].lastModified();
	  				//System.out.println((tabdateien[k]));
	  				Date tabdatei = new Date(tabdateien[k]);
	  				
	  				if((tabdatei.getYear()==Now.getYear())&&(tabdatei.getMonth()<= Now.getMonth())&&(tabdatei.getDay() > Now.getDay()-1))
	  				{
	  				
	  				System.out.println(fileArray[k]);
	  				File tabdateineu =new File(fileArray[k].toString());


und möchte jetzt die 2 neuesten/zuletzt geänderten Dateien auswählen!!! mir fällt nichts gescheites ein wie ich das machen soll habs mal mit Date versucht aber das wird zu komplex gibt es eine einfache lösung in Java vlt ist es ja auch nur ein befehl um in einem ordner die 2 neuesten Dateien auszuwählen


Gruß an Alle
 

The_S

Top Contributor
2 Variablen für die neusten anlegen, deine File-Liste durchgehen, bei jedem durchgang überprüfen, ob die Datei neuer als die aktuell gespeicherten sind, falls ja => ersetzen. Fertig. Dazu brauchste dann noch net ma date
 

Der_Türke

Mitglied
Code:
File file= new File("D:/server/htdocs/playground/ticketchart/tab/");
              File[] fileArray=file.listFiles();

OK ich blicks nicht fangen wir mal ganz am anfang an ich setzt mein Pfad wo alle dateien drin sind!!!

Ich möchte jetzt die 2 dateien die zuletzt gändert wurden herausfiltern!!! kansnt vlt ein bsp geben was du gemeint hast???
 

The_S

Top Contributor
jetzt legst du dir zwei Variablen an - z. B. File newest und File scndNewest. Dann iterierst du in einer for-schleife über dein File-Array. In der for-schleife überprüfst du jetzt zuerst, ob das Datum des aktuellen Files neuer ist, als das Datum des scndNewest-Files. Ist dies der Fall, überprüfst du, ob das aktuelle File auch neuer als das newest-File ist. Ist dies der Fall, weißt du dem scndNewest-File den Wert aus newest-File, und dem newest-File den Wert aus deinem aktuellem File zu - ansonsten weißt du lediglich dem scndNewest-File den Wert aus deinem aktuellen File zu. Wenn das aktuelle File älter als das scndNewest-File ist, machst du einfach gar nix.
 

Der_Türke

Mitglied
sorry ich raff es immer noch nicht es will nicht in die birne rein !!! kanns due es vlt Codisch veranschaulichen... ???:L ???:L :cry: :cry: :cry: :cry: :cry: :cry: :cry: :cry: :cry: :?: :?: :?: :?: :?:
 

The_S

Top Contributor
Sprich Code vorkauen?

Lass mich überlegen ... nö :lol: . Du sollst ja auch was lernen. Führe meine Anweisungen mal Schritt für Schritt aus und poste dann mal deinen Code.
 

Der_Türke

Mitglied
Code:
File path= new File("D:/server/htdocs/tab/");
		File[] fillearray = path.listFiles();
		
		
		File firstfile=null;
		File secondfile=null;
		
		
		
		for(int i=0;i<fillearray.length;i++){
		   
			if(fillearray[i].lastModified()> secondfile.lastModified()&&(fillearray[i].lastModified()>firstfile.lastModified()))
			{
				secondfile=firstfile;
				firstfile=fillearray[i];
					
		    }
			else{
				
				secondfile=fillearray[i];
				
			}


so etwa??? ich bekom jetzt ein nullpointer exception da am anfang first und secondfile ja null sind ...was kann ich da machen????
 

The_S

Top Contributor
na das schaut doch gut aus, so stimmts doch schon fast. Wollte nur ein bisschen Code von dir sehen ;). Ich würde deine if-Abfragen so modifizieren: (secondFile durch sf, fielarray durch fa und firstfile durch ff abgekürzt)

Code:
if (ff == null || ff.lastModified() < fa[i].lastModified()) {
   sf = ff;
   ff = fa[i];
}
else if (sf == null || sf.lastModified() < fa[i].lastModified()) {
   sf = fa[i];
}

(ungetestet)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M zuletzt erzeugtes Objekt erhalten Java Basics - Anfänger-Themen 6
J Hashmap enthält immer nur den zuletzt zugeordneten Eintrag Java Basics - Anfänger-Themen 6
G Mit jPackage erstellte EXE funktioniert nicht Java Basics - Anfänger-Themen 2
J selbst erstellte Datei mit Programm öffnen Java Basics - Anfänger-Themen 10
H Mit Schleife erstellte gleichnamige Objekte einzeln anwählen? Java Basics - Anfänger-Themen 1
Joew0815 konstruktor und damit erstellte objekte Java Basics - Anfänger-Themen 1
W OOP Zugriff auf mit Objekt erstellte Struktur Java Basics - Anfänger-Themen 7
E Methoden auf von Methoden erstellte Objekte zugreifen (verkettete Liste) Java Basics - Anfänger-Themen 10
D Erstellte Jar datei zeigt keine Bilder an Java Basics - Anfänger-Themen 5
J Erstellte .jar unter 32 bit funktioniert nicht bei 64 bit Java Basics - Anfänger-Themen 4
A Das Erstellte platzieren Java Basics - Anfänger-Themen 23
J selbst erstellte Hashtabelle -- Warum Exception? Java Basics - Anfänger-Themen 3
I Erstellte Objekte in Array's miteinander vergleichen Java Basics - Anfänger-Themen 11
G bereits erstellte Objekte benutzen Java Basics - Anfänger-Themen 7
J Zugriff mit Visitor Pattern auf eigen erstellte verk. Liste Java Basics - Anfänger-Themen 3
M "Selbst erstellte" Buttons nicht sichtbar. Java Basics - Anfänger-Themen 20
D Erstellte Textfelder in Applet mit Tab - Taste anspringen Java Basics - Anfänger-Themen 3
B In Java erstellte Dateien in Excel verwenden Java Basics - Anfänger-Themen 4
G In Main erstellte Objekte/Variablen woanders nutzen Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben