Hilfe bei Streams für Eingabe und Datei lesen

Status
Nicht offen für weitere Antworten.
hi leute und zwar hab ich folgende aufgebe. kann mir die einer lösen..das wäre so super


Aufgabe:

Teil a:

Schreiben sie eine Applikation, die eine beliebige Textdatei einliest und zeilenweise mit vorangestellten Zeilennummern auf der Konsole ausgibt.

Der Dateiname soll beim Start der Applikation auf der Konsole (Standardeingabe) eingegeben werden. Fehler beim Öffnen der Datei z.B. durch einen ungültigen Dateinamen sollen durch Applikation abgefangen werden und es soll solange erneut zur Eingabe eines Dateinamens aufgefordert werden, bis die Datei sich fehlerfrei öffnen lässt.
Hinweis: Verwenden Sie zur Eingabe des Dateinamens die Klasse Scanner.

Teil b:

Finden Sie durch Ausführe Ihrer Applikation in Aufgabenteil a) herraus, welche Exception ausgelöst wird, wenn die Eingabe des Dateinamens durch drücken von CTRL-C abgebrochen wird.

Fangen Sie diese Exception in Ihrer Applikation ebenfalls ab und geben Sie die Meldung "Programm abgebrochen" aus. Nach der Ausgabe dieser Meldung soll Ihre Applikation beendet werden.





ICH Bitte euch um hilfe.....
 
Zuletzt bearbeitet von einem Moderator:
also das is natürlich nur der zweite teil meiner aufgabe den erstel aufgabenteil habe ich alleine hinbekommen, aber bei diesem teil bin ich wirklich total überfragt
 

Hutmacher

Bekanntes Mitglied
Warum sollten wir deine Aufgaben lösen? Dafür ist ein Forum nicht da. Sowas stirbt scheinbar nie aus …
Hast du dir schon Gedanken gemacht? Entwürfe?

Am besten beschäftigst du dich mal mit Streams. Für die Zeilennummern verweise ich auf den LineNumberReader (der eigentlich nur ein erweiterter BufferedReader ist, also musst du ihn nicht weiter mit einem BufferedReader verschachteln).

Am besten liest du dir einmal das Kapitel 14 der Insel durch: Galileo Computing :: Java ist auch eine Insel (8. Auflage) – 14 Dateien und Datenströme

Für Teil b) empfehle ich Exception-Handling: Galileo Computing :: Java ist auch eine Insel (8. Auflage) – 8 Exceptions

Und jetzt viel Erfolg und Spaß beim Lesen ^^
 
hey hab ich hier schon nen richtigen ansatz?

Java:
import java.io.*;
import java.text.*;
import java.util.*;

public class scanner2 {
	public static void main( String[] args ) 
	  { 
		
		System.out.println( "Dateiname Eingeben:" );
		try {
	    	LineNumberReader in = new LineNumberReader(
	    			 
	    			new InputStreamReader( System.in ) );
		
		for ( String Dateiname : args ) { 
	      try { 
	       
	            
	        } 
	        finally { 
	          in.close(); 
	        }{
	     
	      catch ( IOException e ) { 
	        System.err.println( "Programm abgebrochen " ); 
	        System.exit( 1 ); 
	      } 
		 } // end for 
	  } 
}
 
Zuletzt bearbeitet von einem Moderator:
hi, wie gesagt ich kenn mich mit java nich so aus, deswegen probiere ich mal mit dem was ich so kenn..

hab das jetzt so gemacht...

package übung;


import java.io.*;



public class scanner2 {
public static void main( String[] args )throws IOException

{ InputStreamReader Scan = new InputStreamReader(System.in);
BufferedReader scani = new BufferedReader(Scan);
System.out.println( "Dateiname Eingeben:" );
String Eingabe = scani.readLine();
int alter = Integer.parseInt(Eingabe);

if (alter >= 45)

try{

LineNumberReader reader = new LineNumberReader(new BufferedReader(new FileReader("C:/45.txt")));
while(reader.readLine() != null){
int Line = reader.getLineNumber();
String text = reader.readLine();
System.out.print(Line);
System.out.println(text);
}



}



catch ( IOException e ) {
System.err.println( "Programm abgebrochen " );
System.exit( 1 );
}
}
}
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben