//COPYRIGHT: Jannik Willma 2023
package [euer package];


import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.StandardCopyOption;
import java.util.ArrayList;

public class DateiArbeit {

	public static void main(String[] args) {
		
		String datei = "[euere Datei]";
		String neuerPfad = "[euer Pfad]";
		
		ArrayList<String> textHinzufuegen = new ArrayList<String>();
		textHinzufuegen.add("Ich war schon überall");
		textHinzufuegen.add("Ich hab alles schon erlebt");
		textHinzufuegen.add("Ich hab alles schon gespürt");
		textHinzufuegen.add("Es hat zu nichts geführt");
		dateiBearbeiten(datei, neuerPfad, textHinzufuegen);
	}

	public static void dateiBearbeiten(String datei, String pfad, ArrayList<String> text) {
		File startdatei = new File(datei);
		File zielDir = new File(pfad);
		
		Path startPath = Paths.get(datei);
		Path endPath = Paths.get(pfad);
				
		if(startdatei.isFile() || zielDir.isDirectory()) {
			System.out.println("Datei ist eine Datei und wird nun bearbeitet!");
			BufferedWriter buw = null;
			try {
				buw = new BufferedWriter(new FileWriter(startdatei));
				for(int m = 0; m < text.size(); m++) {
					buw.write(text.get(m));
					buw.newLine();
				}
				buw.close();
				Files.copy(startPath, endPath, StandardCopyOption.REPLACE_EXISTING);
				System.out.println("Done!");
			} catch (IOException ioex) {
				ioex.printStackTrace();
			} finally {
				if(buw != null) {
					try {
						buw.close();
					} catch (Exception ioex) {
						ioex.printStackTrace();
					}
				}
			}
		} else if (!(startdatei.isFile())) {
			System.err.println("Angegebene Datei ist keine Datei. Es werden nur Dateien akzeptiert.");
		} else if (!(zielDir.isDirectory())) {
			System.err.println("Angegebener Pfad ist kein valider Pfad.");
		}
	}
}
