Brauche mehrere Zeichen zum Auslesen von einer Textdatei

fenerli23

Erfahrenes Mitglied
Hi,

habe folgendes Problem zur Zeit kann ich mit meinem Code nur bis zu 127 Zeichen auslesen von der Textdatei, da es mit einem char data[] ausliest.

In dem String statement befindet sich das auszugebende Ergebnis... Wie könnte man das ganze noch realisieren denn mit diesem Code denn ich habe gehen nur 127 Zeichen würde sehr gerne mehr ausgeben können...?!

hiermal der Code:
Code:
	final static String name = "FileDemo2.dat";
	
	public String text(String statement) {
		File textFile;   			// Textdatei
		FileReader in;   			// Dateieingabe-Stream
		FileWriter out;  			// Dateiausgabe-Stream
		// Standardeingabe in Reader umwandeln
		PrintWriter stdout=new PrintWriter(System.out,true);

		
		// Erzeugen eines Ausgabe-Streams, der mit der Datei
		// 'FileDemo.dat' verknüpft ist
		try {
			out = new FileWriter(name);
			ApplicationContext appCtx = new ClassPathXmlApplicationContext(new String[] {"meinpackage/applicationContext.xml"});
			SqlStatements statm = (SqlStatements)appCtx.getBean(statement);
			statement = statm.getStatement();
			
			out.write(statement);
			out.close();        // Schließen der Datei
			// Erzeugen eines Eingabe-Streams, der mit
			// der Datei verknüpft ist
			textFile = new File(name);
			in = new FileReader(textFile);
			int size = (int)textFile.length(); // Dateilänge
			int read = 0;    // Anzahl der gelesenen Zeichen
			char data[] = new char[size];      // Lesepuffer
			// Auslesen der Datei
			while (read < size)
				read =+ (byte)in.read(data, read, size-read);
			in.close();
			// Ausgabe des Lesepuffers
			stdout.println(new String(data));
		
		}
		catch (IOException ex) {
			ex.printStackTrace();
		}
	return statement;
	}
 
Ganz einfach:

Code:
char data[] = new char[size]

schreib da nicht size als Größe rein, sondern die Zahl, wie viele Zeichen du haben möchtest. Wenn du Beispielsweise 5.000 Reinschreibst, dann kannst du damit 5.000 Zeichen auslesen.

Viel Glück!
 
Ich tippe mal stark darauf, dass es etwas mit dem Datentyp Byte zu tun hat, denn der hat einen Wertebereich von: -128..127. Was soll der Typecast zu Byte bezwecken? Bin mir ziemlich sicher, dass es ohne funktioniert.
 
ja genau das war es... warum ich das so mit dem Byte realisiert hatte?, da ich diesen Code mal für ne andere aufgabe gebraucht habe...
jetzt hatte ich das übersehen das ich das entfernen muss, dank dir nochmal...
 
Zuletzt bearbeitet:
Zurück