BufferedReader und String-Array

Status
Nicht offen für weitere Antworten.

The_S

Top Contributor
Diese Zeile Code funktioniert nicht bzw. bleibt die Zeile leer

Code:
line[zeilenUser] = UserNamesB.readLine();
System.out.println(line[zeilenUser])

wenn ich dagegen

Code:
System.out.println(UserNamesB.readLine());

mache, bekomme ich den richtigen Wert!

Das ganze Steht in einer while-Schleife (Ja ich erhöhe den Wert zeilenUser :wink: ). Woran kann das liegen?

[edit] Lässt sich ganz normal Complimieren und Exception bekomme ich auch keine ???:L

[edit2] Falls es sich jemand nicht denken kann :bae: :line ist ein StringArray, UserNamesB ist ein BufferedReader
 

The_S

Top Contributor
Bin grad dabei ein Programm zu schreiben, für das ich alle Benutzernamen brauche. Soweit bin ich bis jetzt (funzt nur unter XP):

Code:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
import java.util.*;

public class Zugriff extends JFrame implements ActionListener, ItemListener {
	
	int zeilenUser = 0;
	boolean schonDa = false;
	boolean nochNamen = false;
	String Verzeichnis = System.getProperty("java.io.tmpdir");
	String[] line = new String[100];
	File pfad = new File(Verzeichnis + "\\usernames.txt");
	JPanel pane = new JPanel();
	JComboBox Benutzernamen = new JComboBox();
	
	public Zugriff() {
		
		super("Zugriffsverwaltung");
		setSize(100, 100);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		Benutzernamen.addItemListener(this);
		pane.add(Benutzernamen);
		setContentPane(pane);
	}
	
	void writeUsersTxt() {
		
		JOptionPane.showMessageDialog(null,
		"Erstelle Benutzerdatei, OK um den Vorgang zu beginnen",
		"INFO01",
		JOptionPane.INFORMATION_MESSAGE);
		try {
			Runtime.getRuntime().exec("cmd /c start wmic /OUTPUT:\"" + Verzeichnis + "\\usernames.txt\" useraccount get caption");
		}
		catch (Exception e) {
			JOptionPane.showMessageDialog(null,
			"Konnte die Benutzerdatei nicht speichern",
			"ERROR01",
			JOptionPane.ERROR_MESSAGE);
		}
	}
	
	void usernamesDa() {
		
		JOptionPane.showMessageDialog(null,
		"Lese Benutzerdatei zu Testzwecken, OK um den Vorgang zu beginnen",
		"INFO02",
		JOptionPane.INFORMATION_MESSAGE);
		while (schonDa == false) {
			try {
				if (pfad.exists() == true) {
					FileReader schonDaTest = new FileReader(pfad);
					BufferedReader schonDaTestB = new BufferedReader(schonDaTest);
					if (schonDaTestB.ready()) {
						schonDa = true;
					}
				}
			}
			catch (Exception e) {
				JOptionPane.showMessageDialog(null,
				"Fehler beim überprüfen der Benutzerdaten",
				"ERROR02",
				JOptionPane.ERROR_MESSAGE);
			}
		}
	}
	
	void writeUsersCombo() {
		
		JOptionPane.showMessageDialog(null,
		"Lese Informationen aus der Benutzerdatei, OK um den Vorgang zu beginnen",
		"INFO03",
		JOptionPane.INFORMATION_MESSAGE);
		try {
			FileReader UserNames = new FileReader(pfad);
			BufferedReader UserNamesB = new BufferedReader(UserNames);
			while (true) {
				line[zeilenUser] = UserNamesB.readLine();
				zeilenUser++;
			}
		}
		catch (Exception e) {
		}
		for (int i = 2; nochNamen == true; i = i + 2) {
			if (line[i].equals("")) {
				nochNamen = false;
			}
			else {
				Benutzernamen.addItem(line[i]);
			}
		}
	}
	
	public static void main(String[] args) {
		
		Zugriff started = new Zugriff();
		started.writeUsersTxt();
		started.usernamesDa();
		started.writeUsersCombo();
		started.setVisible(true);
	}
	
	public void actionPerformed(ActionEvent evt1) {
	}
	
	public void itemStateChanged(ItemEvent evt2) {
	}
}

Der Fehler liegt in writeUsersCombo. Komischerweise funktioniert das hier aber:

Code:
import java.io.*;

public class zugriff { 
    
   public static void main(String[] args) { 
       
       	String Verzeichnis = System.getProperty("java.io.tmpdir");

      try { 
         Runtime.getRuntime().exec("cmd /c start wmic /OUTPUT:\"" + Verzeichnis + "\\usernames.txt\" useraccount get caption"); 
      } 
      catch (Exception e) { 
      } 
      boolean j = false;
      File pfad = new File(Verzeichnis + "\\usernames.txt");
      while (j == false) {
      	try {
      		if (pfad.exists() == false) {
      		}
      		else {
      			FileReader test = new FileReader(pfad);
				BufferedReader testR = new BufferedReader(test);
				if (testR.ready()) {
      				j = true;
      			}
      		}
      	}
      	catch (Exception e) {
      		System.out.println("j");
      	}
      }
      int i = 0; 
      String[] line = new String[100]; 
      boolean nochNamen = true; 
      try { 
         FileReader name = new FileReader(pfad); 
         BufferedReader nameR = new BufferedReader(name); 
         while (true) { 
            line[i] = nameR.readLine(); 
            i++; 
         } 
      } 
      catch (Exception e) { 
      } 
      for (int z = 2; nochNamen == true; z = z + 2) { 
         if (line[z].equals("")) { 
            nochNamen = false; 
         } 
         else { 
            System.out.println(line[z]); 
         } 
      } 
   } 
}

@ KSG9|plak ich beachte deine Verbesserungsvorschläge schon noch, möchte aber es erstmal so zum laufen bekommen :D :wink:

[edit] Ich weiß, dass man das schöner machen könnte, das kommt dann später :bae:
 

foobar

Top Contributor
So sollte es gehen:
Code:
String buffer = null;
while ( (buffer = UserNamesB.readLine()) != null )
{
   line[zeilenUser] = buffer;
   System.out.println(line[zeilenUser])
}
 

meez

Top Contributor
Sollte auch schon worher gehen...(Er arbeitet mit der Exception)
Aber da stellen sich mir allgemein die Nackenhaare auf...
Warum so kompliziert?
Machs so, und lass den "vorinitalisierten" Array weg:

Code:
 void writeUsersCombo() {
       
    try {
       JOptionPane.showMessageDialog(null,
       "Lese Informationen aus der Benutzerdatei, OK um den Vorgang zu beginnen",
       "INFO03",
       JOptionPane.INFORMATION_MESSAGE)
       BufferedReader UserNamesB = new BufferedReader(new FileInputStream(new File(pfad)));
       for (String buffer;(buffer = UserNamesB.readLine()) !=null;Benutzernamen.addItem(buffer));
       UserNamesB .close();
     } catch (IOException e) {
        e.printStackTrace();
     }
}
 

The_S

Top Contributor
Sehr komisch, hab meinen alten, funktionierenten Code so abgeändert, dass er genau so ausschaut wie mein Alter und siehe Da es funktioniert! Warum weiß ich nicht, aber es funktioniert! :D
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
P BufferedReader - als String[] speichern ? Java Basics - Anfänger-Themen 5
G bufferedReader -> String[] Java Basics - Anfänger-Themen 8
S java.io.* BufferedReader to String Java Basics - Anfänger-Themen 12
berserkerdq2 Brauche ich while != -1, wenn ich immer einen BufferedReader verwende? Java Basics - Anfänger-Themen 8
S Erklärung BufferedReader und InputStreamReader Java Basics - Anfänger-Themen 4
Dimax BufferedReader.readLine().length() wirft NullPointer Java Basics - Anfänger-Themen 6
K Verständnisfrage Server/Client BufferedReader, PrintWriter Java Basics - Anfänger-Themen 2
M BufferedReader begrenzen Java Basics - Anfänger-Themen 3
M Java: BufferedReader liest nur die Hälfte der Text-Datei. Java Basics - Anfänger-Themen 4
O BufferedReader - Endlos Schleife Java Basics - Anfänger-Themen 2
K BufferedReader für IOTools ersetzen? Java Basics - Anfänger-Themen 17
M BufferedReader neue Zeile nach Knopfdruck Java Basics - Anfänger-Themen 9
H Unterschied BufferedReader und BufferedInputStream Java Basics - Anfänger-Themen 4
S BufferedReader TextFields Import Java Basics - Anfänger-Themen 5
B BufferedReader gibt Datei-Inhalt doppelt aus Java Basics - Anfänger-Themen 3
S BufferedReader nächste Zeile lesen Java Basics - Anfänger-Themen 4
E Erste Schritte txt.Datei mit BufferedReader einlesen und in 2D-Array abspeichern Java Basics - Anfänger-Themen 15
A Textdatei mit BufferedReader einlesen Java Basics - Anfänger-Themen 0
P Einlesen von Daten via BufferedReader Java Basics - Anfänger-Themen 4
S Einlesen BufferedReader Java Basics - Anfänger-Themen 5
D BufferedReader/InputStreamReader/Split Java Basics - Anfänger-Themen 2
M bufferedreader loop stoppen Java Basics - Anfänger-Themen 2
HoloYoitsu BufferedReader verhält sich seltsam Java Basics - Anfänger-Themen 10
I BufferedReader Text-Datei einlesen??? Java Basics - Anfänger-Themen 1
J Scanner & BufferedReader Java Basics - Anfänger-Themen 3
D Hilfe bei FileReader und BufferedReader Java Basics - Anfänger-Themen 2
V Fehlerhafte BufferedReader/switch Benutzung? Java Basics - Anfänger-Themen 2
L 2x BufferedReader in einem Programm Java Basics - Anfänger-Themen 1
K Einlesen einer txt von BufferedReader klappt nicht wie gewünscht Java Basics - Anfänger-Themen 12
N BufferedReader Java Basics - Anfänger-Themen 19
N Erste Zeile bei BufferedReader doppelt lesen? Java Basics - Anfänger-Themen 2
P Interpreter-Fehler Probleme mit java.io.BufferedReader Java Basics - Anfänger-Themen 6
M BufferedReader => TextField/Label Java Basics - Anfänger-Themen 8
B Input/Output Benutzereingabe mit BufferedReader Java Basics - Anfänger-Themen 7
B Erste Schritte BufferedReader mag nicht so recht Java Basics - Anfänger-Themen 4
B Input/Output Probleme mit BufferedReader Java Basics - Anfänger-Themen 4
J BufferedReader in Integer konvertieren Java Basics - Anfänger-Themen 7
T Input/Output StructuredFileReader extends BufferedReader Java Basics - Anfänger-Themen 6
H Problem mit Regex in Verbindung mit BufferedReader Java Basics - Anfänger-Themen 4
J InputStreamReader + BufferedReader - keine Eingabemöglichkeit Java Basics - Anfänger-Themen 10
G Hilfe bei BufferedReader Java Basics - Anfänger-Themen 4
A Methoden BufferedReader durchzählen dann lesen Java Basics - Anfänger-Themen 11
T BufferedReader mehrere Zeilen einlesen Java Basics - Anfänger-Themen 4
S Erste Schritte Frage bezüglich "BufferedReader" Java Basics - Anfänger-Themen 3
A BufferedReader mit geöffneter Datei Java Basics - Anfänger-Themen 4
M Eigener InputStream will nicht mit BufferedReader Java Basics - Anfänger-Themen 3
H BufferedReader Zeilenauslesen & verwenden Java Basics - Anfänger-Themen 4
S BufferedReader liest was anderes als BufferedWriter schreibt Java Basics - Anfänger-Themen 5
F Eingabe von Ganzen Zahlen oder Strings mit BufferedReader Java Basics - Anfänger-Themen 10
D BufferedReader und .split() Java Basics - Anfänger-Themen 3
C BufferedReader Java Basics - Anfänger-Themen 5
C Datentypen BufferedReader Java Basics - Anfänger-Themen 6
c_sidi90 BufferedReader Benzinverbrauch Java Basics - Anfänger-Themen 7
Antoras Datei laden mit BufferedReader sehr langsam Java Basics - Anfänger-Themen 7
J Bufferedreader nich von anfang an. Java Basics - Anfänger-Themen 14
M Position des BufferedReader Java Basics - Anfänger-Themen 6
J Socket - BufferedReader lese Problem Java Basics - Anfänger-Themen 2
U BufferedReader - mark Java Basics - Anfänger-Themen 6
Hamstinator Frage zu BufferedReader/FileReader Java Basics - Anfänger-Themen 4
K BufferedReader/Writer trotz Cache? Java Basics - Anfänger-Themen 9
MEETyA Zeilenumbrüche fehlen nach BufferedReader Java Basics - Anfänger-Themen 3
S BufferedReader in Methode übergeben Java Basics - Anfänger-Themen 2
C BufferedReader und FileWrite Java Basics - Anfänger-Themen 2
G Frage zu BufferedReader readline() Java Basics - Anfänger-Themen 3
M BufferedReader.readline() Unix/Windows Zeilenumbruch Java Basics - Anfänger-Themen 4
K zwei Funktionen, ein BufferedReader? Java Basics - Anfänger-Themen 8
K BufferedReader im Konstruktor // guter Stil ? Java Basics - Anfänger-Themen 2
hdi FileReader / BufferedReader langsam? Java Basics - Anfänger-Themen 3
N BufferedReader Verständnisproblem Java Basics - Anfänger-Themen 12
M Problem mit BufferedReader. Java Basics - Anfänger-Themen 10
N Probleme mit dem BufferedReader Seitenquelltext auszulesen Java Basics - Anfänger-Themen 6
G BufferedReader Problem Java Basics - Anfänger-Themen 5
G Probleme mit BufferedReader Java Basics - Anfänger-Themen 6
E Was ließt der BufferedReader eigentlich ein? Java Basics - Anfänger-Themen 3
N Problem mit BufferedReader und close() Java Basics - Anfänger-Themen 6
T NullPointerException bei BufferedReader Java Basics - Anfänger-Themen 4
J NullPointerException BufferedReader.readLine() Java Basics - Anfänger-Themen 4
T BufferedReader oder Prozess, wer hängt sich auf? Java Basics - Anfänger-Themen 6
J bufferedReader liest zu wenig daten ein Java Basics - Anfänger-Themen 6
G BufferedReader Problem Java Basics - Anfänger-Themen 10
W Bestimmten Pfad im BufferedReader Java Basics - Anfänger-Themen 4
P BufferedReader / FileReader Key und Values Java Basics - Anfänger-Themen 7
K FileReader BufferedReader & Arrays Java Basics - Anfänger-Themen 14
G BufferedReader - split-Methode Java Basics - Anfänger-Themen 6
G Bufferedreader Java Basics - Anfänger-Themen 11
B BufferedReader für Char? Java Basics - Anfänger-Themen 6
K BufferedReader & BufferedWriter Java Basics - Anfänger-Themen 6
G BufferedReader Java Basics - Anfänger-Themen 6
V BufferedReader dann zusammenzählen Java Basics - Anfänger-Themen 3
G Hashset verknüpfen mit BufferedReader Java Basics - Anfänger-Themen 18
S BufferedReader (JFileChooser) Java Basics - Anfänger-Themen 2
P Komisches Verhalten von BufferedReader und readLine() Java Basics - Anfänger-Themen 2
R Probleme mit Bufferedreader Java Basics - Anfänger-Themen 11
R frage zur read()-Methode des BufferedReader Java Basics - Anfänger-Themen 2
M mit BufferedReader Zeile lesen Java Basics - Anfänger-Themen 11
L read() (von bufferedReader) abbrechen Java Basics - Anfänger-Themen 5
L unterbrechen von bufferedReader.read() Java Basics - Anfänger-Themen 4
R BufferedReader <-> InputStream Java Basics - Anfänger-Themen 3
G BufferedReader Java Basics - Anfänger-Themen 18
A BufferedReader Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben