Codeverständnis

DaSt

Bekanntes Mitglied
Hallo,

in einer alten Prüfung gab es den untenstehenden Codeverständnisteil.

Aufgabe:
Worin liegt die Hauptaufgabe des folgenden Quellcodes? Erklären Sie stichpunktartig den schrittweisen Ablauf des Programms

Java:
import java.io.File;

public class WasMacheIch{
   public static String x = "C:\\test";
 
   public static void main(String[] args){ 
    File f = new File(x);
    doiIt(System.currentTimeMillies(),f);
  }

   private static void doIt(long t, File f){ 
     if(!f.isDirectory()){
      return;
     }
   
     File[] fs = f.listFiles();
     if(fs==null){
      return;
     }
 
     for(File current : fs){
       if(!current.canWrite()){
        continue;
       }
       current.setLastModified(t);
     } 
   }
}

Wir haben letztes Semester keine Filebehandlung durchgenommen und ich habe auf Grund von Krankheit die Klausur nicht mitgeschrieben.
Nun haben wir dieses Sem. einen anderen Prof. bei dem das eine alte Prüfungsaufgabe war und ich habe dazu absolut keine Ahnung.
Wäre nett, wenn ihr mir weiterhelfen könntet.

Vielen Dank
 
Zuletzt bearbeitet von einem Moderator:

mrBrown

Super-Moderator
Mitarbeiter
So unverständlich ist der Code doch nicht, selbst für jemanden ganz ohne Ahnung von Files;)

in doIt wird geprüft, ob die übergeben File ein Ordner ist, wenn nein, wird die Methode beendet.

dann werden alle in dem Ordner liegende Dateien geholt, wenns keine gibt, wird die Methode beendet.

dann wird über alle Dateien iteriert, wenn eine Datei nicht modifizierbar ist, wird mit der nächsten weitergemacht, ansonsten wird LastModified auf den übergebenen Zeitpunkt - in diesem Fall der Zeitpunkt des Methodenaufrufs - gesetzt.
 

DaSt

Bekanntes Mitglied
Danke

Ich schaue also ob es den Ordner gibt, wenn ja dann iteriere ich über alle Dateien die sich darin befinden und falls ich in eine Datei schreiben kann, setze ich in die Datei dann das aktuelle Datum durch setLastModified, soweit richtig?
 

X5-599

Top Contributor
@mrBrown hat es schon richtig beschrieben. Nochmal um sicher zu gehen.:

Am Inhalt der beschreibbaren Datei wird nichts geändert. Nur das "geändert am" Attribut wird auf den gewünschten Zeitpunkt gesetzt.

Die Zusammenfassung von @DaSt hört sich so an, als wenn vermutet wird, dass sich der Inhalt der Datei ändert.
 
Ähnliche Java Themen

Ähnliche Java Themen

Neue Themen


Oben