split()-Methoden problem

yax

Erfahrenes Mitglied
Hallöchen,

ich hab da mal wieder ein, meiner meinung nach, einfaches Problem, aber ich komm einfach nicht auf die Lösung!! :)

Also ich habe eine .txt - Datei. Diese lese ich ein und speichere die Zeile in einen String. Diesen möchte ich dann "splitten". Den gesplitteten String speichere ich in ein Array. Und wenn ich das Array dann ausgeben möchte, bekomme ich nur komische Zeichen. Hat irgendjemand vielleicht eine Idee****

Hier mein Code:
Code:
FileReader fr = new FileReader("vokabeln.txt");
    BufferedReader br = new BufferedReader(fr);

    String vokabeln = br.readLine();
    String[] vokabelnArray = vokabeln.split("//.");
    System.out.println(vokabeln.toString());

    br.close();

Das Ergebnis ist dann immer: ÿþd

Hat vielleicht jemand eine Idee ?
 
Also in der Datei steht:

DeutschVokabel.Englischvokabel

Ich dachte er ließt die Zeile erst in einen String ein und dann splittet er diese Zeile beim punkt und speichert die einzelnen Wörter in dem Array.
 
Also ich hbe es jetzt geschafft, das er mir die Vokabeln in den String ließt, aber wenn ich den String ausgebe, ist nach jedem Buchstaben ein kleines Rechteck. Und ich bekomme die Vokabeln nicht in das Array...
 
Also bei mir geht das einlesen?

Zeig einmal den kompletten Code

edit: Hinter JEDEM Buchstaben ein Rechteck?
Häng am besten einmal die Textdatei hier an (die Originaldatei, nicht nur den Inhalt)
 
Zuletzt bearbeitet:
Okay hier ist mal der ganze Code:

Code:
import java.awt.*;
import java.awt.event.*;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;

import javax.swing.*;
import javax.swing.event.*;

/**
  *
  * Beschreibung
  *
  * @version 1.0 vom 03.09.2010
  * @author
  */

public class Vokabeltrainer extends JFrame {
  // Anfang Attribute
  private JTextField jTextField1 = new JTextField();
  private JPanel jPanel1 = new JPanel(null);
    private JLabel jLabel1 = new JLabel();
  private JTextField jTextField2 = new JTextField();
  private JPanel jPanel2 = new JPanel(null);
    private JLabel jLabel2 = new JLabel();
  private JButton jButton1 = new JButton();
  private JButton jButton2 = new JButton();
  private JButton jButton3 = new JButton();
  // Ende Attribute

  public Vokabeltrainer(String title) throws IOException {
    // Frame-Initialisierung
    super(title);
    setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
    int frameWidth = 448;
    int frameHeight = 343;
    setSize(frameWidth, frameHeight);
    Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
    int x = (d.width - getSize().width) / 2;
    int y = (d.height - getSize().height) / 2;
    setLocation(x, y);
    Container cp = getContentPane();
    cp.setLayout(null);
    // Anfang Komponenten

    ImageIcon dFlagge = new ImageIcon("C:\\Dokumente und Einstellungen/Yanik2/workspace/Vokabeltrainer/src/dflagge.gif");
    ImageIcon eFlagge = new ImageIcon("C:\\Dokumente und Einstellungen/Yanik2/workspace/Vokabeltrainer/src/eflagge.gif");
    ImageIcon abbrechen = new ImageIcon("C:\\Dokumente und Einstellungen/Yanik2/workspace/Vokabeltrainer/src/abbrechen.jpg");
     ImageIcon weiter = new ImageIcon("C:\\Dokumente und Einstellungen/Yanik2/workspace/Vokabeltrainer/src/weiter.jpg");
      ImageIcon einstellung = new ImageIcon("C:\\Dokumente und Einstellungen/Yanik2/workspace/Vokabeltrainer/src/einstellungen.gif");
    
    jTextField1.setBounds(120, 40, 297, 24);
    jTextField1.setText("");
    cp.add(jTextField1);
    jPanel1.setBounds(24, 24, 88, 60);

    cp.add(jPanel1);
    jLabel1.setBounds(3, 0, 85, 56);
    jLabel1.setText("");
    jLabel1.setFont(new Font("MS Sans Serif", Font.PLAIN, 13));
    jLabel1.setIcon(dFlagge);
    jPanel1.add(jLabel1);
    jTextField2.setBounds(120, 120, 297, 24);
    jTextField2.setText("");
    cp.add(jTextField2);
    jPanel2.setBounds(24, 104, 89, 65);
    cp.add(jPanel2);
    jLabel2.setBounds(3, 0, 85, 64);
    jLabel2.setText("");
    jLabel2.setFont(new Font("MS Sans Serif", Font.PLAIN, 13));
    jLabel2.setIcon(eFlagge);
    jPanel2.add(jLabel2);
    jButton1.setBounds(312, 264, 121, 33);
    jButton1.setText("Abbrechen");
    jButton1.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent evt) {
        jButton1_ActionPerformed(evt);
      }
    });
    jButton1.setIcon(abbrechen);
    cp.add(jButton1);
    jButton2.setBounds(208, 264, 97, 33);
    jButton2.setText("Weiter");
    jButton2.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent evt) {
        jButton2_ActionPerformed(evt);
      }
    });
    jButton2.setIcon(weiter);
    cp.add(jButton2);
    jButton3.setBounds(8, 264, 129, 33);
    jButton3.setText("Einstellungen");
    jButton3.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent evt) {
        jButton3_ActionPerformed(evt);
      }
    });
    jButton3.setIcon(einstellung);
    cp.add(jButton3);
    
    FileInputStream fis = new FileInputStream("vokabeln.txt");
    InputStreamReader isr = new InputStreamReader(fis, "UTF-8");
    InputStreamReader isr1 = new InputStreamReader(fis);
    BufferedReader br = new BufferedReader(isr1);

    String vokabeln = br.readLine();
    String[] vokabelnArray = vokabeln.split("//.");
    System.out.println(Arrays.toString(vokabelnArray));

    jTextField1.setText(vokabeln);
    
    br.close();

    // Ende Komponenten

    setResizable(false);
    setVisible(true);
  }

  // Anfang Methoden
  public void jButton1_ActionPerformed(ActionEvent evt) {
    System.exit(0);
  }

  public void jButton2_ActionPerformed(ActionEvent evt) {
    // TODO hier Quelltext einfügen
  }

  public void jButton3_ActionPerformed(ActionEvent evt) {
    // TODO hier Quelltext einfügen
  }

  // Ende Methoden

  public static void main(String[] args) throws IOException {
    new Vokabeltrainer("Vokabeltrainer");
  }
}

Bitte seit nicht so streng mit den kleinen Fehler, das Programm ist noch nicht überarbeitet. :)
 
So vielen dank für eure hilfen. Ich habe es jetzt geschafft, die Vokabeln zu trennen. Aber wenn ich mir die Deutschvokabel anzeigen lasse, stehen da immer so Zeichen vor (Ausgabe: deutschvokabel). Bei der Englischvokabel funktioniert alles prima.

Aber wie bekomme ich diese Zeichen weg****
 
Hi,

am besten ist, wie sheel bereits geschrieben hat, du hängst mal die Original-Datei, die du einlesen willst, hier an einen Beitrag.

Gruß
Der Wolf
 

Neue Beiträge

Zurück