ReadFile, Daten aus .txt verwenden?

Hi,

also mit der ReadFile Methode kann man ja Files einlesen und der inhalt wird dann auf der Konsole ausgegeben...aber wie kann ich diese Werte verwenden?

also nehmen wir mal an in der .txt steht:

Wert 15
Wert 17
Wert 45

Wie kann ich jetzt einen Kreis zeichen der die Zahlen benutzt z.B. "17" als größe?

Danke!
 
Zuletzt bearbeitet:

tuttle64

Bekanntes Mitglied
Hi,

also mit der ReadFile Methode kann man ja Files einlesen und der inhalt wird dann auf der Konsole ausgegeben...aber wie kann ich diese Werte verwenden?

also nehmen wir mal an in der .txt steht:

Wert 15
Wert 17
Wert 45

Wie kann ich jetzt einen Kreis zeichen der die Zahlen benutzt z.B. "17" als größe?

Danke!


Angenommen, Du liest das txt-File Zeile für Zeile. Sobald die Zeile mit dem Radius gelesen worden ist, kannst Du den Wert einer Variablen zuweisen und diese Variable beim Zeichnen des Kreises verwenden.
 
A

Abruzzi

Gast
Hey,

Am besten du beachtest beim Erstellen der Textdatei gleich darauf, damit man es gut laden kann.
Beispielsweise willst du die Daten von drei Kreisen speichern. Dann lässt du einfach sowas in der Art in die Datei schreiben.
Nehmen wir an du hast 3 Kreise mit drei unterschiedlichen Radien. Dann schreibst du die am Besten so in die Datei:

12|13|14

Erklärung: 12 Ist der Radius des ersten Kreises, 13 der Radius des Zweiten... Der | ist einfach eine Trennung der einzelnen Radien und erleichtert das Laden ungemein.

Ich lese die Datei dann immer mit der folgender Methode aus:

Java:
public String Laden(String Dateiname)   // .txt nicht vergessen
    {
        try{
        FileReader preisleser = new FileReader(Dateiname); 
        StringBuilder text = new StringBuilder(10);
        int gelesen;
        boolean ende = false;
        
        while(!ende)
        {
            gelesen = preisleser.read();
            if(gelesen == -1)
            {
                ende = true;
            }
            else
            {
                text.append( (char) gelesen);
            }
        
        }
        return text.toString();
        
        }
        catch(Exception e)
        {
            return "Felher!!!";
        }
    }

Die Methode gibt den Inhalt der Textdatei als einen einzigen String zurück, also "12|13|14"

Des aufdröseln eines solchen Strings geht am Besten mit der Klasse StringTokenizer:

Java:
String alleRadien = Landen(Radien.txt);                     //Schreibt den gesammten Dateiinhalt in diesen String
StringTokenizer r = new StringTokenizer(alleRadien, "|");   //Erzeugt einen neuen StringTokenizer(DenStringDenDuTeilenWillst , Kriterium nach dem geteilt wird)

Jetzt musst du nur noch die Radien eintragen. Dabei muss der String Wert (bsp. "12") in die Integer Zahl 12 konvertiert werden.


Java:
int radius1 = Integer.valueOf(r.nextToken());
int radius2 = Integer.valueOf(r.nextToken());
int radius3 = Integer.valueOf(r.nextToken());

Integer.valueOf konvertiert den String (bsp. "12") in den Integer Wert 12, sodass er in die Integer Variable geschrieben werden kann.

nextToken() ist eine Methode des StringTokenizers. Sie schaut nach, wo in den String, der anfangs übergeben wurde, das Suchkriterium beinhaltet und liefert den String von allem aus, was davor kommt.
In unserem Fall liefert der erste Aufruf von nextToken() "12" , der zweite "13" und der dritte "14", da beim erneuten Aufruf immer zum nächsten Schlüsselkriterium gesprungen wird.



So ich hoffe du hast alles verstanden und kannst es anwenden. Wenn es noch Unklarheiten gibt, meld dich einfach :)

Mfg. Abruzzi
 
ok das hat alles soweit gefunzt... also bei mir kann man halt noch die gewünschte Datei in einem Fenster auswählen aber sonst is es das gleiche.

mit sout werden auch die 3 Werte getrennt ausgegeben. (Datei Inhalt= 12|13|15 )
aber irgendwie hat er trotzdem ein Problem welches ich nicht ganz verstehe.

der code:
Java:
package readfiles;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.StringTokenizer;
import javax.swing.JFileChooser;
import javax.swing.JFrame;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
/**
 *
 * @author tom
 */
public class ReadFiles {

    public ReadFiles() {
        readFile();
    }

    public void readFile() {


        JFileChooser chooser = new JFileChooser();

        int r = chooser.showOpenDialog(new JFrame());
        if (r == JFileChooser.APPROVE_OPTION) {
            String path = chooser.getSelectedFile().getPath();
            BufferedReader inputStream = null;
            try {
                inputStream = new BufferedReader(new FileReader(path));

                String l;
                while ((l = inputStream.readLine()) != null) {
                    String alleRadien =(l);                     
                    StringTokenizer werte = new StringTokenizer(alleRadien, "|");   
                    int radius1 = Integer.valueOf(werte.nextToken());
                    int radius2 = Integer.valueOf(werte.nextToken());
                    int radius3 = Integer.valueOf(werte.nextToken());

                    System.out.println(radius1);
                      System.out.println(radius2);
                       System.out.println(radius3);

                }
            } catch (IOException ex) {
                System.out.println("ERROR: File not found or access not possible: " + path);
            } finally {
                if (inputStream != null) {
                    try {
                        inputStream.close();
                    } catch (IOException ex) {
                        System.out.println("ERROR: File close failed for: " + path);

                    }

                }
            }
        }

    }

    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {

            public void run() {
                ReadFiles rf = new ReadFiles();
                rf.readFile();
            }
        });
    }
}

Der Fehler (Konsole):
Java:
run:
12
13
15
Exception in thread "AWT-EventQueue-0" java.util.NoSuchElementException
        at java.util.StringTokenizer.nextToken(StringTokenizer.java:332)
        at readfiles.ReadFiles.readFile(ReadFiles.java:41)
        at readfiles.ReadFiles.<init>(ReadFiles.java:22)
        at readfiles.ReadFiles$1.run(ReadFiles.java:71)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
 

HoaX

Top Contributor
Steht doch da: NoSuchElementException, ergo gibt es kein nächstes Element für den Tokenizer. Lass dir doch mal die Zeile ausgeben bevor du diese verarbeitest.

Grund ist sicherlich, dass in der Datei ne Leerzeile ist, bzw. ein Zeilenumbruch nach der letzten Zeile.
 
S

SlaterB

Gast
gib doch jeweils vor dem StringTokenizer die Zeile l bzw. alleRadien aus, vielleicht hat eine Zeile nicht das erwartete Format,
wenn man am Ende einer Datei Enter drückt, schleicht sich gerne eine Leerzeile "" ein
 
verdammt es lag echt an einer Leerzeile ;) vielen Dank!

ok dann hab ich noch eine Frage:

wie benutze ich Klassenübergreifende Variabeln?
also ich habe eine extra Klasse die nur die Kreise Zeichnen soll mit den radius1, radius2 und radius 3 Werten aber in meiner Zeichen Klasse kennt der die nicht...da die da ja nicht initialisiert sind.
ist das irgendwie machbar?
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Unvollständige Daten in der TableView Java Basics - Anfänger-Themen 8
S Daten aus Import Datei auslesen und sortieren Java Basics - Anfänger-Themen 2
A Daten aus einer HashMap aus einer DB speichern und mit neuen Werten vergleichen Java Basics - Anfänger-Themen 8
Mady Daten von JList & Combobox in JTable adden Java Basics - Anfänger-Themen 2
M Daten aus errechneter Methode in Datenbank(SQLite) schreiben Java Basics - Anfänger-Themen 60
W Daten in Echtzeit übernehmen Java Basics - Anfänger-Themen 5
Z Java ArrayList speichert falsche Daten ab bzw. gibt falsche Daten aus? Java Basics - Anfänger-Themen 42
M Daten aus .txt Datei einlesen und weiterverarbeiten Java Basics - Anfänger-Themen 80
I H2 Datenbank starten / Daten in File speichern Java Basics - Anfänger-Themen 25
M Mehrere Daten/ Variablen Speichern Java Basics - Anfänger-Themen 9
E fehlermeldung bei richtigen login daten Java Basics - Anfänger-Themen 7
C Java Funktion: externe Daten vom Internet einbinden Java Basics - Anfänger-Themen 2
P Schiebefix - ArrayList überschreibt Daten Java Basics - Anfänger-Themen 3
S Daten/Klassen/Packages richtig updaten!? Java Basics - Anfänger-Themen 2
E Wie gebe ich alle Daten zwischen zwei Zeitpunkten aus? Java Basics - Anfänger-Themen 2
H Daten aus einer Datei in eine Liste speichern Java Basics - Anfänger-Themen 23
M Tabellen- Daten laden Java Basics - Anfänger-Themen 2
A Klasse um daten zu einlesen Java Basics - Anfänger-Themen 26
A Literale für primitive Daten Typen Java Basics - Anfänger-Themen 4
N Zwei Daten (Datum) miteinander vergleichen, abspeichern, laden Java Basics - Anfänger-Themen 4
A Daten auslesen/vergleichen Java Basics - Anfänger-Themen 3
D Sportwetten Daten Atomatisch analysieren um optimale Strategie zu erhalten Java Basics - Anfänger-Themen 6
S Java Daten in Excel speichern Java Basics - Anfänger-Themen 1
S Daten speichern, ohne Datenbank Java Basics - Anfänger-Themen 8
L Daten aus ArrayList in Datenbank durchsuchen Java Basics - Anfänger-Themen 5
Shallty Daten speichern und ändern? Java Basics - Anfänger-Themen 32
M Sqlite table löschen und daten einfügen Java Basics - Anfänger-Themen 5
S Binäre-Suche bei unsortierten Daten Java Basics - Anfänger-Themen 7
N Was passiert wenn wir Daten auf der Festplatte abspeichern wollen? bzgl. BufferStreams Java Basics - Anfänger-Themen 9
T Daten von Objekten speichern Java Basics - Anfänger-Themen 7
A Minesweeper - Daten Java Basics - Anfänger-Themen 46
A Eingelesene Daten in Array(Liste) abspeichern? Java Basics - Anfänger-Themen 18
S Daten aus zwei Verschiedenen Tabellen in eine ArrayListe Java Basics - Anfänger-Themen 4
WPS1000 Input/Output Wie aktiviere ich den Daten Transfer von der RS232 in meine Java Applikation Java Basics - Anfänger-Themen 2
R Eigenes Protokoll zur Übermittlung von Daten zum Webserver? Java Basics - Anfänger-Themen 4
A Reader wohin werden Daten gespeichert? Java Basics - Anfänger-Themen 7
M Erste Schritte CSV-File einlesen und Daten verarbeiten Java Basics - Anfänger-Themen 5
S Daten aus eigenständiger .class-Datei abrufen Java Basics - Anfänger-Themen 1
E Daten dem Super Aufruf übergeben Java Basics - Anfänger-Themen 3
M jTabel mit Daten Füllen Java Basics - Anfänger-Themen 5
M Wie erzeuge ich die Differenz von zwei Daten in Stunden?? Java Basics - Anfänger-Themen 2
S Daten lesen und speichern Java Basics - Anfänger-Themen 26
S JTable mit Daten füllen Java Basics - Anfänger-Themen 7
L Java Programm zum Auswerten von Daten Java Basics - Anfänger-Themen 11
H Passwortmanager, Sicherheit der Daten Java Basics - Anfänger-Themen 12
G Best Practice Wie große "Tabellen" effizient durchsuchen und Daten händeln? Java Basics - Anfänger-Themen 15
U Daten aus Datei einlesen Java Basics - Anfänger-Themen 4
M Best Practice Daten-Import /Trabsfomration aus Textdatei Java Basics - Anfänger-Themen 12
R JTable Suchfunktion mit SQL Daten Java Basics - Anfänger-Themen 2
E Daten gehen nicht in Datenbank Java Basics - Anfänger-Themen 14
M Erste Schritte Speichern von mehreren Daten Java Basics - Anfänger-Themen 3
J Daten einer Textdatei in ein JTable importieren. Java Basics - Anfänger-Themen 3
F Daten von Thread an den aufrufenden zurückgeben Java Basics - Anfänger-Themen 22
C Endlosschleife bei füllen von Daten im JTable Java Basics - Anfänger-Themen 5
N Erste Schritte Dedicated Server \ Senden und Empfangen von Daten/Befehlen Java Basics - Anfänger-Themen 2
A Probleme beim zykl. aktulisieren von Daten in JTable Java Basics - Anfänger-Themen 3
D NPE beim laden von Daten aus MySQL Java Basics - Anfänger-Themen 9
P Einlesen von Daten via BufferedReader Java Basics - Anfänger-Themen 4
P Methoden ausgelesene (CSV-) Daten in Liste einer anderen Klasse einlesen Java Basics - Anfänger-Themen 0
F Daten aus Excel-Tabelle in Java importieren Java Basics - Anfänger-Themen 15
F Http Post von mehreren Daten Java Basics - Anfänger-Themen 5
F Daten auf Webserver laden - wiederholen bei Fehler Java Basics - Anfänger-Themen 0
W Best Practice problemabhängige Persistentmachung von Daten Java Basics - Anfänger-Themen 6
P Daten von Internetseite auslesen Java Basics - Anfänger-Themen 10
N Daten/Formular per POST an Firefox/Browser senden Java Basics - Anfänger-Themen 7
D Daten mit Apache POI in eine Excel Datei schreiben Java Basics - Anfänger-Themen 5
T JTable Daten aus txt datei Java Basics - Anfänger-Themen 3
T printf Daten aus der Tabelle in Excel übernehmen Java Basics - Anfänger-Themen 5
P zweidimensionales Array anlegen und mit DB-Daten füllen Java Basics - Anfänger-Themen 14
V Einlesen von Daten Java Basics - Anfänger-Themen 8
J TableView zeigt keine Daten an Java Basics - Anfänger-Themen 14
J Daten im Programm speichern Java Basics - Anfänger-Themen 14
N Interface Daten einem Implementierten Interface zuweisen Java Basics - Anfänger-Themen 37
O Probleme mit CSV Daten Java Basics - Anfänger-Themen 10
M Arrays: Trennung von Daten und Darstellung Java Basics - Anfänger-Themen 1
S Daten aus Array in Klasse übertragen Java Basics - Anfänger-Themen 12
M Wie sicher sind Daten im Java Programm? Java Basics - Anfänger-Themen 9
R Daten via Post an php Script senden Java Basics - Anfänger-Themen 1
B Probleme bei "Daten in CSV File schreiben". Java Basics - Anfänger-Themen 9
C Datei mit Daten einlesen und höchsten wert der zweiten Spalte ermitteln Java Basics - Anfänger-Themen 1
W (XML/XSL) Daten aus Eclipse in eine Klasse Laden. Java Basics - Anfänger-Themen 1
I Daten speichern ohne Datenbank Java Basics - Anfänger-Themen 20
D Daten von einem int in einen string Java Basics - Anfänger-Themen 5
L Daten aus Array Feld löschen Java Basics - Anfänger-Themen 2
T Input/Output Daten/Objekte einfach speichern Java Basics - Anfänger-Themen 5
IngoF GUI mit Thread Daten austauschen. Java Basics - Anfänger-Themen 6
S Daten aus anderen Dateien in neue Datei einlesen Java Basics - Anfänger-Themen 3
fLooojava Daten im selben Netzwerk an IP Java Basics - Anfänger-Themen 1
M Junit Tests durchführen, die eine Verbindung zu einer Daten erfordern Java Basics - Anfänger-Themen 3
K HashMap mit Daten aus ArrayList befüllen Java Basics - Anfänger-Themen 14
P Daten auslesen und in CSV speichern Java Basics - Anfänger-Themen 6
J Daten aus zweiter Klasse importieren Java Basics - Anfänger-Themen 33
C Daten speichern und laden Java Basics - Anfänger-Themen 6
S Je nach erhaltene Daten unterschiedlich reagieren (Design Pattern?) Java Basics - Anfänger-Themen 3
J Daten von einer PHP Datei ablesen Java Basics - Anfänger-Themen 1
B Klassen Zugriff auf Daten der Child-Klasse Java Basics - Anfänger-Themen 9
K Daten (im Sinne von Datum) aus Webseiten extrahieren Java Basics - Anfänger-Themen 6
S Erste Schritte Tage zwischen 2 Daten berechnen Java Basics - Anfänger-Themen 6
A daten vom 1d array in 2d matrix speichern Java Basics - Anfänger-Themen 3
R csv-Datei auslesen und ausgelesene Daten in neue csv-Datei speichern Java Basics - Anfänger-Themen 2

Ähnliche Java Themen


Oben