Witam, jestem osobą początkującą i chcę napisać program edytujący zawartość pliku txt. Wszystko działa, ale mam problem ze zmianą nazwy pliku, proszę o pomoc i z góry dziękuję :)
package edytorterkstu;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.Scanner;
public class EdytorTerkstu {
public static void main(String[] args) throws FileNotFoundException {
File doc = new File ("doEdycji.txt"); //odczyt pliku
Scanner odczyt3 = new Scanner(new File("doEdycji.txt"));
String text3 = odczyt3.nextLine();
Scanner odczyt = new Scanner(new File("doEdycji.txt"));
String text = odczyt.nextLine();
System.out.println("Obecna zawartość pliku to: " + text); //wyświetlenie zawartości
System.out.println("Czy chcesz Wprowadzić zmiany?");
Scanner xx = new Scanner(System.in);
String zmiana = xx.nextLine();
if(zmiana.equalsIgnoreCase("tak") || zmiana.equalsIgnoreCase("yes") || zmiana.equalsIgnoreCase("y") || zmiana.equalsIgnoreCase("t"))
{
System.out.println("Proszę wprowadzić zmiany: "); // zmiana zawartości
Scanner y = new Scanner(System.in);
String edit = y.nextLine();
PrintWriter z = new PrintWriter("doEdycji.txt");
z.println(edit);
z.close();
Scanner odczyt2 = new Scanner(new File("doEdycji.txt"));
String text2 = odczyt2.nextLine();
System.out.println("Pomyślnie zapisano zawartość pliku jako: " + text2
+ "\n w pliku: " + doc);
System.out.println ("Czy chcesz zmienić nazwę pliku?"); //zmiana nazwy
Scanner yy = new Scanner(System.in);
String nazwa = yy.nextLine();
if (nazwa.equalsIgnoreCase("tak") || nazwa.equalsIgnoreCase("yes") || nazwa.equalsIgnoreCase("y") || nazwa.equalsIgnoreCase("t"))
{
System.out.println("Wprowadź nową nazwę pliku z rozszerzeniem .txt: ");
Scanner zz = new Scanner (System.in);
String nazwapliku = zz.nextLine();
File aa = new File (nazwapliku);
aa = doc;
File doc2 = new File (nazwapliku);
PrintWriter a = new PrintWriter(nazwapliku);
a.println(text2);
a.close();
}
else {
System.out.println("Nazwa pliku to nie została zmieniona: " + doc);
}
}
else {
System.out.println("Nie wprowadzono zmian");
}
}
}