Hallo,
ich bin gerade beim Thema File-Writer/Reader und habe ein kleines Problem.
Ich würde gerne per Scanner einen Dateinamen einlesen lassen, welcher anschließend im FileWriter für den Namen der Datei genutzt wird, das habe ich auch hinbekommen, allerdings kann ich anschließend im FileReader nicht mehr auf die Variable "dateiName" zugreifen, da diese ja nur lokal in der Methode schreibeInDatei() sichtbar ist.
Wie löse ich das Problem am besten?
ich bin gerade beim Thema File-Writer/Reader und habe ein kleines Problem.
Ich würde gerne per Scanner einen Dateinamen einlesen lassen, welcher anschließend im FileWriter für den Namen der Datei genutzt wird, das habe ich auch hinbekommen, allerdings kann ich anschließend im FileReader nicht mehr auf die Variable "dateiName" zugreifen, da diese ja nur lokal in der Methode schreibeInDatei() sichtbar ist.
Wie löse ich das Problem am besten?
Java:
import javafx.application.Application;
import javafx.stage.Stage;
import java.io.*;
import java.util.Scanner;
/**
* @author
*/
public class IOString extends Application {
public static void main(String[] args) throws IOException {
schreibeInDatei();
leseAusDatei();
}
/**
* Liest Dateinamen und Dateitext als Strings ein und schreibt anschließend Dateitext in eine generierte Datei
*
* @throws IOException
*/
public static void schreibeInDatei() throws IOException {
Scanner input = new Scanner(System.in);
System.out.println("Text der in Datei geschrieben werden soll: ");
String dateiText = input.next();
System.out.println("Namen der Datei eingeben: ");
String dateiName = input.next();
input.close();
FileWriter fileWriter = new FileWriter(dateiName);
BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);
bufferedWriter.write(dateiText);
bufferedWriter.close();
}
/**
* Liest Text aus oben erstellter Datei
*
* @throws IOException
*/
public static void leseAusDatei() throws IOException {
FileReader fileReader = new FileReader(dateiName); // <- cannot resolve symbol "dateiName"
BufferedReader bufferedReader = new BufferedReader(fileReader);
bufferedReader.close();
}
@Override
public void start(Stage primaryStage) throws Exception {
}
}