Aus TxtDatei Auslesen, mal wieder

Status
Nicht offen für weitere Antworten.

MichaelR

Aktives Mitglied
Hallo zusammen, ich stehe vor einem Problem ich habe eine Txt Datei in einem Package und möchte diese nun auslesen.

Java:
BufferedReader f=new BufferedReader(new FileReader("/währungsrechner/währungsrechnerTxtDatei/Wechselkurse.txt"));

Habe mit diesem Quellcode schon eine txtDatei mit einem Pfad dazu ausgelesen also c:\\..., aber hier bekomme ich die Fehlermeldung

Java:
java.io.FileNotFoundException: \währungsrechner\währungsrechnerTxtDatei\Wechselkurse.txt (Das System kann den angegebenen Pfad nicht finden)

ich habe schon versucht mit getClass().getRessource() probiert, aber irgendwie klappt des net so ganz. Hab auch schon hier im Forum geschaut und ausprobiert, aber steh anscheinend auf dem Schlauch. Der FileReader braucht ein File, soweit ist mir klar. Aber wie genau ich ihm sag, dass er des File Wechselkurse.txt nehmen soll, des in dem Projekt währungsrechner im Paket währungsrechnerTxtDatei liegt ist mir noch unklar.
 

xtraclass

Mitglied
Java:
getClass().getRessourceAsStream("whatever/whatever/myfile")
und myfile muss (wie oben schon erwähnt) dort sein, wo die *.class Dateien sind, also wenn in der IDE der Output-Path für die erzeugten CLASS-Dateien c:\x ist, dann muss myfile im Verzeichnis c:\x\whatever\whatever sein.
 

MichaelR

Aktives Mitglied
Moment, ich will keine Datei von der Festplatte lesen, deswegen ja kein c:\\whatever\\whatever, des hab ich ja geschafft, aber dann muss man ja auf jedem Rechner, auf dem man des Programm laufen will einen Ordner anlegen.
Ich hab des txt File in einem package und ich will des daraus ansprechen.

Also muss ich es nur schaffen des File zu bekommen und des dem FileReader zu übergeben, wie aber in meiner Fehlermeldung steht, findet der des File aber nicht.
 

function

Bekanntes Mitglied
ich denke es leigt daran, dass du den relativen Pfad falsch angibst.
Ich tippe einfachmal, dass deine Klasse und die Textdatei, im gleichen Wurzelverzeichnis "währungsrechner" liegen, dann müßte der Pfad zur Txtdatei "./währungsrechnerTxtDatei/.." liegen. Du musst immer von dem Ordner deiner Klasse ausgehen...

achja sonderzeichen und lange verzeichnisnamen können auch zu fehlern führen.
 

MichaelR

Aktives Mitglied
Ja, dass ich den falsch angeb hab ich gemerkt ;-)

Ich hab ein seperates package namens WährungsrechnerTxtDatei in dem die "Klasse" Wechselkurse.txt drinliegt

deswegen fang nehm ich
"/währungsrechner/währungsrechnerTxtDatei/Wechselkurse.txt"
"/projectname/ packagename / Name der txt Datei"


und des ganze versuch ich in einem FileReader einzulesen.

Wie gesagt, wenn ich eine direkte Pfadangabe mit c:\\whatever\\whatever\\... nehm, dann funktioniert des so auch wunderbar.

Muss des irgendwie im gleichen Package liegen? Ich hab auch ein package mit bildern und da funktioniert des auch wunderbar, nur eben nicht mit einer file.
 

xtraclass

Mitglied
Also wenn dein Dateiname mit / anfängt, dann geht das ja vom Root-Verzeichnis aus, also von c:\

Wenn du die Datei aus dem Verzeichnis lesen möchtest, wo die .JAVA Dateien liegen, musst du einen richtigen Pfad angeben...

Wenn du die Datei aus dem Verzeichnis lesen möchtest, wo die .CLASS Dateien liegen, musst du getRessourceAsStream("mein/package/name/dateiname") angeben.
 

MichaelR

Aktives Mitglied
Hmm, also geh ich her und schreib BufferedReader bf= new BufferedReader(newFileReader(getRessourcesAsStream("")));?

Tut mir leid, aber der kleine Codebrocken bringt mir nichts ohne Erklärung. Ich werd mal in der API nachschauen.

Bekomme ich dann ein TextFile zurück? Oder einen String? Und mein/package/name/dateiname für was steht mein? ist das package das Project oder das Package? Weil wenns das package ist, dann hab ich kein name/dateiname mehr, weil im Package ja als nächstes eine Klasse, bzw mein txtFile kommt.
 

MichaelR

Aktives Mitglied
Hmm, habs mittlerweile geschafft den Fehlertyp zu ändern. Bei

Java:
    InputStream inputStream = TxtAuslesenSchreiben.class.getClassLoader().getResourceAsStream("de/Währungsrechner/währungsrechner/Kurse.txt");
    BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
bekomme ich in der 2.Zeile eine NullPointerException, bei was auch immer ich da tue...


Edit:

Ach ja, mir fällt grad ein, ich will des ganze später als jar zusammenbauen und dann sollte des txtFile unabhängig von einem fixen Speicherort sein. Also so zu sagen in der Jar dabei. Ich hab nur grad was gelesen, was so klingt als würde des nicht gehen, bzw eine ander Vorgehensweise verlangen.
Ich möchte damit persistente Datenspeicherung erreichen, die aber nicht von einer Datenbank oder einen fixen txtFile abhängig ist.
 
Zuletzt bearbeitet:

xtraclass

Mitglied
Java:
    BufferedReader reader = new BufferedReader(new InputStreamReader(getClass().getResourceAsStream("Kurse.txt"));

und Kurse.txt sollte im gleichen Verzeichnis sein, wie die class-Datei, in der obiger Code steht.

getClass() wird vom aktuellen Objekt aufgerufen.
getResourceAsStream schaut dann, wo die class-Datei vom aktuellen Objekt liegt und ob dort in diesem Verzeichnis die Datei Kurse.txt steht.

Also in meinem Bsp oben war der Pfad falsch, es reicht, wenn man nur den Dateinamen hinschreibt.

Statt getClass() kannst du auch

IrgendeineKlasse.class.getResourceAsStream(...)

verwenden.
 

MichaelR

Aktives Mitglied
Ok, vielen Dank erstmal, es funktioniert, er findet die Datei und will sie auslesen. Schreiben werd ich mal genauso probiern nur mit dem OutputStreamWriter. Kann ich die Txt Datei ansprechen, wenn die mal nicht im gleichen package liegen sollte? Und was genau ist der unterschied zwischen dem FileReader und dem InputStreamReader? Denke, dass ich mal gelesen hab, dass der FileReader, bzw alle Reader von derm InputStreamReader erben.
 

Empire Phoenix

Top Contributor
Meine empfehlung an dich ist es generell IMMER url basiert auf dateien zuzugreifen, weil dann ist es egal ob datei,package,i-net, und es reicht eine Kleine änderung ohne das ein größerer teil des Programms angepasst werden muss.

Momit auch der unterscheid erklärt wäre, die file... dinger können nromalerweise nur mit files arbeiten
 

MichaelR

Aktives Mitglied
Ah ok, des heist, der InputStreamReader braucht ne url und der FileReader ein File?
Hat jemand zufällig eine Liste von der korrekten Schreibweise von den Dingern, weil des ja immer Strings sind und man sich nie sicher sein kann, was daran falsch ist, wenns mal net klappt. Und ich echt viel gegoogelt hab aber überall dann immer nur TextFile oder solche sachen drinstehen, die mir net wirklich viel sagen. Also grad, wie ist die Unterschiedliche schreibweise von nem Url von nem File, wie geb ich genau an, in welchem package des liegt.
 

Mcburn

Mitglied
Hey ich weis ich verweise nur auf eine andere Methode und diese könnte nicht zu deinem Programm passen. Aber nimm doch ein JFileChooser. Damit bist du Variabler.
Wenn du die Idee gut findest kann ich dir helfen diesen Einzusetzen.
 
Zuletzt bearbeitet:

Mcburn

Mitglied
Ach bevor der Thread geschlossen wird hab ich noch ne Frage wär jetzt zu Blöd dafür einen neuen zu öffnen.

Wie siehts aus, wenn man eine Textdatei ausliest und das Ende ermitteln will. Wie macht man das?
Was ich gelesen habe war dieser code: line != null. Oder so hab ihn nicht mehr ganz im Kopf.
Problem ist nun was passiert wenn Leerzeilen in der Datei sind?
 

Ark

Top Contributor
Wie siehts aus, wenn man eine Textdatei ausliest und das Ende ermitteln will. Wie macht man das?
Was meinst du mit "Ende ermitteln"?

Was ich gelesen habe war dieser code: line != null. Oder so hab ihn nicht mehr ganz im Kopf.
Problem ist nun was passiert wenn Leerzeilen in der Datei sind?
Leerzeilen werden wie alle anderen Zeilen auch wiedergegeben: Bei einer Leerzeile ist der String leer, eben "". Dagegen heißt [c]null[/c] so viel wie "es gibt keine Zeile (mehr)".

Ark
 

Mcburn

Mitglied
Mit Ende meinte ich:

Bulub
balab
hasa
husu

Da ist ja nach husu schluss. Da ich aber nicht weis wie viele Zeilen die Textdatei hat brauchte ich einen Schlussbefehl.

Ich dachte null steht dafür das nichts mehr in der Zeile steht. Danke
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Daten aus Import Datei auslesen und sortieren Java Basics - Anfänger-Themen 2
T array auslesen Java Basics - Anfänger-Themen 2
I Klassen von einem package laden, Statisches Feld auslesen und Objekt erstellen Java Basics - Anfänger-Themen 8
N Einzelne Werte aus einem TreeSet auslesen Java Basics - Anfänger-Themen 2
D Eclipse will nicht auslesen Java Basics - Anfänger-Themen 6
E TIF Datei auslesen Java Basics - Anfänger-Themen 2
krgewb Breite und Höhe eines Bildes in base64 auslesen Java Basics - Anfänger-Themen 3
sserio TXT-Datei Auslesen und den Wert jedes Namen ausrechnen etc. Java Basics - Anfänger-Themen 37
J Speichern von zwei Variablen durch Auslesen aus einem Numberfield Java Basics - Anfänger-Themen 2
U Sekunden von LocalTime auslesen, wie möglich? Java Basics - Anfänger-Themen 1
E Outlook ordner auslesen Java Basics - Anfänger-Themen 4
R Eigenschaft über Parameter auslesen und ändern Java Basics - Anfänger-Themen 15
B Bin komplett am verzweifeln :( Verkettete Liste die Objekte hat Attribut auslesen Java Basics - Anfänger-Themen 14
J Datei aus Netzwerk auslesen Java Basics - Anfänger-Themen 9
J Jsonfile auslesen Java Basics - Anfänger-Themen 8
A Eine Textdatei auslesen Java Basics - Anfänger-Themen 16
N Aus einem String die Anzahl der Vokale auslesen Java Basics - Anfänger-Themen 40
H Array rückwärts auslesen funktioniert nicht Java Basics - Anfänger-Themen 3
J Bestimmte parameter aus Jsonfile auslesen Java Basics - Anfänger-Themen 15
AleXusher Mehrdimensionales Array aus txt.file auslesen Java Basics - Anfänger-Themen 4
L Zeichen an bestimmter Stelle auslesen Java Basics - Anfänger-Themen 4
3 Textdatei Zeilenweise auslesen Java Basics - Anfänger-Themen 3
J Json Datei auslesen Java Basics - Anfänger-Themen 4
I Java String einlesen und auslesen Java Basics - Anfänger-Themen 11
S Tastatureingabe auslesen und in Konsole ausgeben Java Basics - Anfänger-Themen 6
S CSV Datei auslesen und anders darstellen Java Basics - Anfänger-Themen 2
G Scanner nutzen und Index auslesen Java Basics - Anfänger-Themen 8
N JTable auslesen Java Basics - Anfänger-Themen 6
N Java CSV Datei auslesen Java Basics - Anfänger-Themen 6
F Webseiten Quelltext auslesen Java Basics - Anfänger-Themen 5
J Datei auslesen (nur bestimmte Stellen) Java Basics - Anfänger-Themen 2
I csv auslesen, mittels List Java Basics - Anfänger-Themen 18
S Letzte Zahl eines Integer auslesen? Java Basics - Anfänger-Themen 3
G If / While Programm (Datei auslesen) Java Basics - Anfänger-Themen 6
S Aus einer .bz2 Datei auslesen Java Basics - Anfänger-Themen 2
K Textdatei auslesen und über Mqtt schicken Java Basics - Anfänger-Themen 4
B Name von Verzeichnis bekommen - Files von einem Ordner auslesen Java Basics - Anfänger-Themen 4
A Daten auslesen/vergleichen Java Basics - Anfänger-Themen 3
D XML von Seite auslesen Jsoup Java Basics - Anfänger-Themen 2
I Druckerauflösung auslesen - mittlerweile möglich? Java Basics - Anfänger-Themen 4
B WSDL auslesen? Java Basics - Anfänger-Themen 8
D Methoden Textdokument erstellen und auslesen. Java Basics - Anfänger-Themen 46
B HTML Code / Seite auslesen und JAVA Objekte erstellen Java Basics - Anfänger-Themen 12
S Datein auslesen und verarbeiten Java Basics - Anfänger-Themen 1
J Geld speichern und wieder auslesen Java Basics - Anfänger-Themen 10
S CSV auslesen UTF-8 Problem Java Basics - Anfänger-Themen 7
D Datei auslesen & Werte in Variable speichern Java Basics - Anfänger-Themen 12
K String buchstaben auslesen Java Basics - Anfänger-Themen 9
S Amazon Produktbeschreibung auslesen und nach Keywords suchen Java Basics - Anfänger-Themen 2
x-tshainge Interface Wie kann ich aus Textfeldern auslesen Java Basics - Anfänger-Themen 6
Z Ersten Buchstaben eines Elements eines String-Arrays auslesen Java Basics - Anfänger-Themen 5
B .txt. Datei auslesen und bestimmten Wert wiedergeben Java Basics - Anfänger-Themen 5
CptK x wert eines Bildes auslesen Java Basics - Anfänger-Themen 1
T Website auslesen Java Basics - Anfänger-Themen 2
T String auslesen bzw. überprüfen Java Basics - Anfänger-Themen 1
L CSV Auslesen Java Basics - Anfänger-Themen 5
B Auslesen von PDF / Bilder Java Basics - Anfänger-Themen 5
das_leon Alle Zeilen einer CSV-Datei auslesen Java Basics - Anfänger-Themen 1
D Mit Java HTML bzw Javascript auslesen Java Basics - Anfänger-Themen 1
F Arrays Sätze speichern und einzelne Worte mit Index Angabe auslesen Java Basics - Anfänger-Themen 4
F Zwischenwerte aus Browser auslesen Java Basics - Anfänger-Themen 19
S Jede Ziffer einer Zahl auslesen, damit rechnen und beim Ergebnis wiederholen ? Java Basics - Anfänger-Themen 20
G Servlet - externe HTML (URL) auslesen Java Basics - Anfänger-Themen 1
T class Datei auslesen Java Java Basics - Anfänger-Themen 5
P Liste auslesen und in Variablen speichern Java Basics - Anfänger-Themen 7
D String erste Zahl mit LKZ auslesen lassen Java Basics - Anfänger-Themen 36
J Hashmap auslesen Java Basics - Anfänger-Themen 7
J Auslesen/speichern und wieder einlesen Java Basics - Anfänger-Themen 7
D String untereinander auslesen lassen Java Basics - Anfänger-Themen 2
M Aus Datei auslesen und untersuchen ob diese Zeile schon vorhanden ist Java Basics - Anfänger-Themen 3
DaCrazyJavaExpert Variablen Zahlen aus Strings auslesen Java Basics - Anfänger-Themen 4
J Informationen aus Webseiten auslesen Java Basics - Anfänger-Themen 1
S Text aus einer HTML Datei auslesen Java Basics - Anfänger-Themen 1
M Einzelne Pixel in einem Bild auslesen und bearbeiten Java Basics - Anfänger-Themen 1
dragonfight86 Erste Schritte OpenDocument auslesen Java Basics - Anfänger-Themen 13
I Texte mit Absätzen in Dateien speichern und auslesen Java Basics - Anfänger-Themen 1
W DNS Name auslesen + weitere Anfängerfrage Java Basics - Anfänger-Themen 4
C Werte aus JTable auslesen Java Basics - Anfänger-Themen 4
Chrizzey45 Calc-Dokument in Java auslesen? Java Basics - Anfänger-Themen 2
B Datei auslesen und 2D-Array anlegen Java Basics - Anfänger-Themen 1
B Key auslesen/ausgeben innerhalb von foreach() Java Basics - Anfänger-Themen 5
M Eigenschaften einer Datei auslesen Java Basics - Anfänger-Themen 5
M Textarea auslesen und beschreiben Java Basics - Anfänger-Themen 8
JokerBlacky Klassen Klasse Queue Klasse mit Attributen anhängen und auslesen können Java Basics - Anfänger-Themen 4
Y Bildschirmauflösung auslesen Java Basics - Anfänger-Themen 4
S for schleife auslesen Java Basics - Anfänger-Themen 4
Voreck String Zeichen für Zeichen auslesen Java Basics - Anfänger-Themen 9
Voreck Array aus txt datei auslesen Java Basics - Anfänger-Themen 2
N JFreeChart --> TimeSeries auslesen Java Basics - Anfänger-Themen 9
OlafHD Datei Auslesen Java Basics - Anfänger-Themen 6
M Metadaten OpenOffice mit Java auslesen Java Basics - Anfänger-Themen 9
P JList, aus selectedValue bestimmten Wert aus Containerklasse auslesen Java Basics - Anfänger-Themen 4
J OpenOffice Dokumentenvariable mit Java auslesen Java Basics - Anfänger-Themen 1
P Daten von Internetseite auslesen Java Basics - Anfänger-Themen 10
L Text eingeben und im Textfeld auslesen lassen Java Basics - Anfänger-Themen 2
T Combobox Wert auslesen und damit weiterrechnen Java Basics - Anfänger-Themen 6
J Datei auslesen klappt nicht Java Basics - Anfänger-Themen 4
D String Zeichen für Zeichen auslesen Java Basics - Anfänger-Themen 5
Viktim Website auslesen Java Basics - Anfänger-Themen 8
T Auslesen mehrerer jComboBox (-en) Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben