Konsoleneingabe

TomSto

Mitglied
Hallo!
Habe das Forum dursucht, bin aber leider nicht fündig geworden.

Ich möchte gerne, per Konsoleneingabe Parameter empfangen.
Z.B. benötige ich in meinem Programm die Information, wie denn die Datei heißt, welche "bearbeitet" werden soll.
Das Programm läuft in der DOsbox. Dort soll dann der Name der Datei abgefragt werden und dann in einer Variable gespeichert werden, damit ich weiterarbeiten kann.

Den Dateinamen kann ich nicht festlegen, da er sich immer wieder ändert (tägliche Statistik)

Das Programm liefert einige Konsolenausgaben, welche ich bei bedarf (möchten sie... ja / nein) in einer Textdatei hinterlegen kann, hierzu benötige ich auch eine Parametereingabe.

Wie funktioiert solch eine Konsolenabfrage und wie leite ich die Ausgabe in eine Textdatei um, wenn dies per Abfrage erwünscht ist?

Danke für eure Hilfe!
 
Danke!
Komisch, dass ich das nicht gefunden habe.

Die Eingabe funktioniert soweit. Aber wenn ich z.B. was eingegeben habe, wird es mir wieder ausgegeben und erwartet eine neue Eingabe. Die Aufforderung kann ich dann auch nicht beenden.
Was muss ich ändern?
Danke.

PS:
ist es möglich die konsolenausgabe in einem txt zu speichern?
 
Hallo!

Code:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;

public class ReadStdIn {

	public static void main(String[] args) {
		BufferedReader br =
			new BufferedReader(new InputStreamReader(System.in));

		List lines = new ArrayList();

		String line = null;
		String exitCode = "EXIT";
		System.out.println("Zum beenden der Eingabe EXIT eingeben.");
		try {
			while ((line = br.readLine()) != null && !line.equals("EXIT")) {
				lines.add(line);
			}

			br.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
		System.out.println(lines);
	}
}

PS:
ist es möglich die konsolenausgabe in einem txt zu speichern?
Jap ...

Code:
FileWriter fw = new FileWriter(new OutputStreamWriter(System.out));
...
fw.flush();
fw.close();

Gruß Tom
 
Danke Tom.

Was genau muss ich ändern, wenn ich nur eine Eingabe akzeptieren möchte?
Sprich man macht seine Eingabe drückt Enter und das Programm speichert die Eingabe als String und fährt mit dem Rest des Programmes fort

gruss

Sorry, dass ich Dich schonwieder fragen muss... :-(
 
Hi Tom!

Ich versuche gerade den Inhalt der Konsole in die TExtdatei umzuleiten und habe da ein paar Probleme:

Original geschrieben von Thomas Darimont


Code:
FileWriter fw = new FileWriter(new OutputStreamWriter(System.out));
...
fw.flush();
fw.close();


Gruß Tom

Bei der Initialisierung die du hier verwendest bekomme ich folgenden Fehler:

The constructor FileWriter(OutputStreamWriter) is undefined

Ich habe es mal so probiert:

Code:
                     FileWriter fw = null;
    	OutputStreamWriter out = null;
try
      {
          out = new OutputStreamWriter (System.out);
          fw = new FileWriter(Dateiname);
          fw.write(out.flush());
          out.close();
          fw.close();

      }//try

Von meinem Verständins her, denke ich mir das so:
mit fw.write schreibe ich in das Textfile, mit out.flush() den Inhalt der Konsole/der noch gepufferten Daten.

nur leider bekomme ich fw.write(out.flush()); eine Fehlermeldung:

The method write(int) in the type OutputStreamWriter is not applicable for the arguments (void).

Kannst du mir viell. bitte weiterhelfen?!

Danke!
 
Zuletzt bearbeitet:
Code:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.FileWriter;

public class IO_Test {

	public static void main(String[] args) {
		try{		
		BufferedReader br =
			new BufferedReader(new InputStreamReader(System.in));
		System.out.print("Input: ");
		String Eingabe = br.readLine();
		FileWriter fw = new FileWriter("bla.txt");
		fw.write(Eingabe);
		fw.close();} catch (IOException e) {e.printStackTrace();}
	}
}

MfG Stefan
 
Zurück