package oop.FileHandling;
import java.io.File;
import java.io.IOException;
// Hauptfunktion verwaltet Files 
public class FileKlasse {
	
	/*Was macht diese Kalsse?
	 * - abstrakte Darstellungen von Dateipfaden und Verzeichnissen zu bieten und verschiedene Operationen darauf zu ermöglichen
	 * - sie befindet sich im Paket java.io
	 * - stellt keine Methode zum direkten Lesen oder Schreiben von Daten bereit.
	 * - Stattdessen bietet sie Funktionen zur Dateiverwaltung.
	 */
	public static void main(String[] args) {
		 File file = new File("C:\\Users\\obaya\\eclipse-workspace\\OOP\\src\\oop\\FileHandling\\Test");
		 
		 if (file.exists()) {
			 	System.out.println("Datei existiert: " + file.getName());
	            System.out.println("Pfad: " + file.getPath());
	            System.out.println("Absoluter Pfad: " + file.getAbsolutePath());
	            System.out.println("Schreibbar: " + file.canWrite());//ob der ich in der File schreiben kann
	            System.out.println("Lesbar: " + file.canRead()); //ob der ich in File lesen kann
	            System.out.println("Größe: " + file.length() + " Bytes");
	            System.out.println("kann ausführen = " + file.canExecute()); //kann ich diesen Fiel bearbeiten (ja/nein)

		 }
		 // test3 File existiert nicht im Pfad also wird einen neuen Pfeil erstellt
		 File file2 = new File("C:\\Users\\obaya\\eclipse-workspace\\OOP\\src\\oop\\FileHandling\\Test3");
		 // try catch sollen erzuegt werden
		 try {
             if (file.createNewFile())  // createNewFile() gibt boolean zurück,ob der File ergolgreich erstellt wurde oder nicht
                 System.out.println("Datei erstellt: " + file.getName()); // der File muss im Pfad nicht existieren, damit es erstellt wurde
             else 
                 System.out.println("Fehler beim Erstellen der Datei.");
             
         } catch (IOException e) {
             e.printStackTrace();
         }
		 
		 // erstelle ein Verzeichnes 
		 File folder = new File("C:\\Users\\obaya\\eclipse-workspace\\OOP\\src\\oop\\FileHandling\\TestFolder");
		  if (!folder.exists()) {
	            if (folder.mkdir())
	                System.out.println("Verzeichnis erstellt: " + folder.getName());
	            else 
	                System.out.println("Fehler beim Erstellen des Verzeichnisses.");
	        }
		  
		  
		  // gibt die Inhalt eines Folders zurück
	        File dir2 = new File("C:\\Users\\obaya\\eclipse-workspace\\OOP\\src\\oop\\FileHandling\\TestFolder");

	        // Auflisten der Inhalte des Verzeichnisses mit Hilfe eines String arrays 
	        String[] fileList = dir2.list();
	        if (fileList != null) {
	            System.out.println("Inhalte des Verzeichnisses:");
	            for (String fileName : fileList) 
	                System.out.println(fileName);
	            
	        } else 
	            System.out.println("Das Verzeichnis ist leer oder konnte nicht aufgelistet werden.");
	        
    }
		 		 
}
