Wieder in TxtFile speichern

MichaelR

Aktives Mitglied
Hallo zusammen,
ich habe folgendes Problem. Ich habe eine txt Datei in meinem package und hab es mittlerweile mit Hilfe vom Forum geschafft die einzulesen. Nun ist aber das Problem, dass ich die txt Datei nun wieder speichern will, nur steig ich noch nicht so ganz in die ganzen Writer und Reader Klassen durch.
Eingelesen wird so
Java:
BufferedReader f = new BufferedReader(new InputStreamReader(getClass().getResourceAsStream("Kurse.txt")));
Also ein BufferedReader, der über ein inputStream die Ortsangaben finden, wenn das File in meinem package liegt. Hier stellt sich noch die Frage, was man machen kann, wenn man des File in einem extra package liegen hat.

Aber nun zum Hauptproblem, ich würd entweder den FileWriter oder analog zu oben den OutputStreamWriter nehmen in etwa so
Java:
BuffereWriter bw=new BufferedWriter(new FileOutputStream(""));
der FileOutputStream brauch also nun einen OutputStream für den Konstruktor, des hab ich mal rausgefunden, aber nicht wie ich einen OutputStream erzeuge der mich in mein package leitet. Auch stellt sich mir die Frage, woher der FileOutputStream wissen soll, das dies ein txt File ist. Ich mein es sei denn er ist so schlau und erkennt des an der Endung.
 
S

SlaterB

Gast
Pfade kann man auch relativ um Verzeichnisse anreichern,
../ steht für ein höheres Verzeichnis, ansonsten z.B. test/xy.txt für Unterverzeichnis test

FileOutputStream ist ganz egal wie die Datei endet/ was sie für einen Inhalt haben soll,
eine solche Berücksichtigung gibt es beim Schreiben generell nicht/ macht keinen Sinn,

OutputStreams schreiben ihre Bytes so wie es das Programm angibt,
das was daraus entsteht ist vielleicht eine Textdatei, wenn alles richtig läuft und für die Interpretation des nächsten InputStreams bedingt relevant
 

MichaelR

Aktives Mitglied
Hmm, leider versteh ich zuwenig von dem ganzen Output/Input Stream Zeug, deswegen wär ne gute Erklärung net schlecht, oder wenn jmd ein Tutorial hat, würde ich mich auch freuen.
Ich probier
Java:
File file=new File("/währungsrechner/Kurse.txt");
                   bw=new BufferedWriter(new FileOutputStream(file));

Funktioniert nicht, er sagt mir cannot find symbol..., obwohl hier in der Konstruktoren Liste

FileOutputStream(File file)
Creates a file output stream to write to the file represented by the specified File object.

steht

Teste ich den andern Konstruktor
Java:
 File file=new File("/währungsrechner/Kurse.txt");
                   bw=new BufferedWriter(new FileOutputStream(file,true));
laut Konstruktoren Liste:

FileOutputStream(File file, boolean append)
Creates a file output stream to write to the file represented by the specified File object.
bekomme ich immer noch ein cannot find symbol

Wenn ich es mit dem FileWriter probiere
Java:
 File file=new File("/währungsrechner/Kurse.txt");
                   bw=new BufferedWriter(new FileWriter(file));
kann ich zwar ausführen, bekomme aber folgende Fehlermeldung
Java:
java.io.FileNotFoundException: \währungsrechner\Kurse.txt (Das System kann den angegebenen Pfad nicht finden)
ich kapier schon, dass er den Pfad nicht findet, aber wie sage ich ihm, dass er in dem package nachschauen soll? Des getClass().getRessourcesAsStream oder von ähnlichem bekomme ich ja entweder eine URL, einen InputStream oder eine Enumeration zurück und aus denen kann ich ja keine Ausgaben erstellen.
 

MichaelR

Aktives Mitglied
Habs jetzt auch mal mit dem Umweg über eine URL versucht
Java:
 URL url=getClass().getResource("Kurse.txt");
                String fileString=url.getFile();
                File file=new File(fileString);
                   bw=new BufferedWriter(new FileWriter(file));
aber er findet den Pfad immer noch nicht. Kann ich aus einem InputStream irgendwie ein File erstellen? Weil des würde ja über des gerResourceAsStream() gehen und damit les ich ja schon aus.
 
S

SlaterB

Gast
file.getAbsolutePath() liefert dir testweise den kompletten Pfad, damit kannst du im Dateisysten nachschauen, wo das landen würden, und ob das möglich ist,
eine Datei kann der Writer selber anlegen, nicht aber das Verzeichnis,
erzeuge das extern selber, falls es fehlt, oder schaue dir die Methoden der Klasse File an

URLs mit getClass().getResource() vertragen sich glaube ich gar nicht mit Writern,
die Klassen und deren URLs könnten in einem Jar-Archiv enthalten sein, da kann man nicht einfach reinschreiben
 

MichaelR

Aktives Mitglied
Hmm und was genau mach ich dann, wenn ich den AbsoluthPath hab? Ich hab schon gesachafft mit mkdir mir selber Verzeichnisse anzulegen, dass ist kein Problem, ich kann in beliebige Verzeichnisse speichern und wieder auslesen. Das File existiert ja auch, ich les ja davor daraus aus. Es liegt im gleichen package wie die Klasse, ich will ja nur wissen, wie ich es schaffe, dass ich das File referenzieren kann. Wie gesagt für den InputStream ging es.

Ich muss auch dazu sagen, dass ich davon recht wenig versteh, was die verschiedenen Streams machen. Ich hätte gern einen Ansatz mit Erklärung (von mir aus auch ohne, wenn ich weis wie es geht, dann find ich die Erklärung schon mit google) wie ich des File in dem package ansprechen und es überschreiben kann.
 
S

SlaterB

Gast
du machst
File file=new File("/währungsrechner/Kurse.txt");
und wenn es noch nicht passt, schaust du dir den getAbsolutePath() an (ausgeben!) und passt den Pfad weiter an, bis es hinkommt,

mit getClass().getResource() relativ zu einer Klasse funktioniert es meines bisherigen Wissens nach nicht
(nur lesen, kein schreiben, kein File, kein getAbsolutePath())
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
DrahtEck Schleife soll wieder da anfangen wo ich es möchte ! Java Basics - Anfänger-Themen 17
G JTree speichern und wieder einlesen Java Basics - Anfänger-Themen 5
W In alten Code zurück- und dort wieder zurechtfinden? Java Basics - Anfänger-Themen 17
I Passwort in Datenbank speichern um später wieder auszulesen Java Basics - Anfänger-Themen 5
Temsky34 Wie bekomme ich dieses Java-Warning wieder weg? Java Basics - Anfänger-Themen 2
T j.u.Scanner(Sys.in).nextLine() wieder schließen? Java Basics - Anfänger-Themen 5
f3mys Objektwerte in Liste speichern und wieder abrufen Java Basics - Anfänger-Themen 23
O Text mit Regex trennen und wieder zusammenbauen Java Basics - Anfänger-Themen 5
Naxon89 Input/Output Ein PDF in einem BLOB umwandeln um ihn dann als PDF wieder anzuzeigen Java Basics - Anfänger-Themen 3
H JavaFX Hintergrundfarbe ändern, warten, Hintergrundfarbe wieder ändern Java Basics - Anfänger-Themen 34
MichelNeedhelp Brauche zu diesem Labyrinth ein Skript? Der Hamster soll im Urzeigersinn das ganze Labyrinth abgehen und wieder an seinem Ursprungsplatz sein. Java Basics - Anfänger-Themen 40
D Codeblöcke, die immer wieder im Programmverlauf benötigt werden Java Basics - Anfänger-Themen 5
TimoN11 Array -> Schleife wieder von vorne durchlaufen lassen Java Basics - Anfänger-Themen 1
JD_1998 Arrays einlesen, zwischenspeichern und wieder ausgeben Java Basics - Anfänger-Themen 8
M Regex Probleme (mal wieder) Java Basics - Anfänger-Themen 3
J Selektiertes Element von jComboBox zwischenspeichern und wieder einsetzen Java Basics - Anfänger-Themen 0
S Nutzereingabe splitten und in string array wieder ausgeben. Java Basics - Anfänger-Themen 1
I wieder mit einer Umwandelung habe ich Problem (diesmal von char Array zu char) Java Basics - Anfänger-Themen 1
N Wie kann ich einen String wieder zusammensetzen und ausgeben lassen? Java Basics - Anfänger-Themen 9
C Array-Eintrag wieder auf Null setzen Java Basics - Anfänger-Themen 3
W Verschachtelte Objekte wieder auspacken Java Basics - Anfänger-Themen 3
M Array immer wieder um ein Element erweitern Java Basics - Anfänger-Themen 6
CptK Methoden Event bei gedrückter Maustaste immer wieder ausführen Java Basics - Anfänger-Themen 1
CptK Klassen Event bei gedrückter Maus immer wieder mit Pause ausführen Java Basics - Anfänger-Themen 2
J Geld speichern und wieder auslesen Java Basics - Anfänger-Themen 10
M JTextField blitzt immer wieder nur auf Java Basics - Anfänger-Themen 12
CptK Datentypen Verdrehte Wörter wieder herstellen Java Basics - Anfänger-Themen 21
J Timer bauen, Main Methode immer wieder neu starten Java Basics - Anfänger-Themen 13
I Methoden Schleife immer wieder durchlaufen lassen Java Basics - Anfänger-Themen 15
F Immer wieder gleiche Zufallszahl? Java Basics - Anfänger-Themen 4
M Schleifenergebnis in selbiger wieder verwenden Java Basics - Anfänger-Themen 7
L Methoden Rekursion gibt alten Wert wieder Java Basics - Anfänger-Themen 37
L jar, class, java und wieder zurück Java Basics - Anfänger-Themen 8
M aus Fenster anderes Fenster öffnen und wieder umgekehrt Java Basics - Anfänger-Themen 5
J Fenster wieder unsichtbar machen Java Basics - Anfänger-Themen 2
J Auslesen/speichern und wieder einlesen Java Basics - Anfänger-Themen 7
S Sound stoppen und nach Pause wieder abspielen Java Basics - Anfänger-Themen 6
T while schleife starten , beeneden und wieder Starten Java Basics - Anfänger-Themen 8
I Zähler, der erst wieder zählt nachdem Pixel wieder andere Farbe hat Java Basics - Anfänger-Themen 2
B javax.ejb.Timer wieder starten? Java Basics - Anfänger-Themen 0
N Methode auslagern mal wieder Java Basics - Anfänger-Themen 8
F Inhalt einer Variable auswerten, die sich immer wieder ändert Java Basics - Anfänger-Themen 1
B ja ja schon wieder einer mit einer public static void main(string[] args) Frage... Java Basics - Anfänger-Themen 8
Bluedaishi for schleife um Dateien wieder zusammen zu fügen Java Basics - Anfänger-Themen 11
I SHA512 verschlüsseln und dann wieder auslesen? Java Basics - Anfänger-Themen 35
F Timer abbrechen und wieder starten Java Basics - Anfänger-Themen 5
J KeyListener - mal wieder... Java Basics - Anfänger-Themen 2
B Listener beim Laden (deserialize) wieder hinzufügen bzw. mitspeichern? Java Basics - Anfänger-Themen 3
GadgetSofa .txt Datei erstellen und gleich wieder Löschen? Java Basics - Anfänger-Themen 12
D Bild für ein paar Sekunden einblenden und wieder ausblenden Java Basics - Anfänger-Themen 1
M Tabelle aktualisieren (mal wieder) Java Basics - Anfänger-Themen 10
M Erste Schritte Tabelle aktualisieren (mal wieder) Java Basics - Anfänger-Themen 7
M Zahlen als Bytes in eine Datei speichern, daraus wieder auslesen Java Basics - Anfänger-Themen 2
D Schon wieder double -.- Java Basics - Anfänger-Themen 4
R Switch: Nach durchlaufen des Case wieder zum Menü Java Basics - Anfänger-Themen 3
K For Each Schleife wieder von Beginn an iterieren Java Basics - Anfänger-Themen 12
L Und schon wieder :=( Java Basics - Anfänger-Themen 3
T Arbeitsspeicher wieder freigeben Java Basics - Anfänger-Themen 21
Ernesto95 BufferedImage Teilbereich wieder transparent setzen Java Basics - Anfänger-Themen 16
J Schon wieder Rekursionsproblem Java Basics - Anfänger-Themen 3
S Erste Schritte Hochgescrolltes Menu nach MouseOut wieder "runter holen" Java Basics - Anfänger-Themen 3
H Datei in kleine Stücke teilen und wieder erkennen Java Basics - Anfänger-Themen 10
B Variable wird einfach so wieder auf "null" gesetzt Java Basics - Anfänger-Themen 12
B Cookies auslesen und wieder schreiben Java Basics - Anfänger-Themen 2
T wieder mal Serialization :-) Java Basics - Anfänger-Themen 10
J Mal wieder ein kleines Toleranzproblem Java Basics - Anfänger-Themen 20
T text von textfeld auslesen und wieder reinschreiben Java Basics - Anfänger-Themen 10
T Benutzereingabe in form von string wieder ausgeben in JOptionPane Java Basics - Anfänger-Themen 14
F Input/Output ArrayList presistent speichern und wieder auslesen Java Basics - Anfänger-Themen 4
D Ausgegebene Worte wieder löschen. Java Basics - Anfänger-Themen 6
B Heap-Speicher wieder freigeben Java Basics - Anfänger-Themen 10
P Mal wieder JTable Java Basics - Anfänger-Themen 7
V Schon wieder ein kleines problem...dieses mal mit do-while loop Java Basics - Anfänger-Themen 9
M Mal wieder Probleme mit Date Java Basics - Anfänger-Themen 9
M Threads Thread ist nur kurz interrupted, dann wieder nichtmehr Java Basics - Anfänger-Themen 6
K Mal wieder ein Problem mit If / Else Java Basics - Anfänger-Themen 10
A Wie kann man etwas von Typ Image wieder löschen? Java Basics - Anfänger-Themen 7
J Threads Threads anhalten und wieder fortführen Java Basics - Anfänger-Themen 9
P Dropdownbox nach hinzufügen wieder öffnen Java Basics - Anfänger-Themen 7
A Daten speichern und wieder in ein Array laden Java Basics - Anfänger-Themen 4
B Datentypen Inhalt zum Iterator wieder aufrufen? Java Basics - Anfänger-Themen 10
Os-Programming Checkbox immer wieder überprüfen Java Basics - Anfänger-Themen 13
S Datei einlesen und Ergebnis wieder in Datei schreiben Java Basics - Anfänger-Themen 5
J Datei einlesen teile aus lines ändern und wieder rausschreiben. Java Basics - Anfänger-Themen 4
M String-Array-Element wieder null zuweisen Java Basics - Anfänger-Themen 16
K Wie kann ich aus jar Dateien wieder normale Klassen generieren? Java Basics - Anfänger-Themen 7
F Mal wieder: Cannot make a static reference to the non-static method Java Basics - Anfänger-Themen 9
F Collections Datenbankdaten in einer Map speichern, bearbeiten, sortieren und wieder in Datenbank schreiben Java Basics - Anfänger-Themen 20
B Datentypen Werte in einen Array einlesen und danach die beiden höchsten Werte wieder ausgeben Java Basics - Anfänger-Themen 3
L Datentypen byte[] in String und wieder zurück Java Basics - Anfänger-Themen 3
B Datei in mehrere Ordner splitten und wieder zusammenfuegen... Java Basics - Anfänger-Themen 3
R ARRAY/List die sich immer wieder von vorne neu auffüllt ? Java Basics - Anfänger-Themen 21
F OOP Wieder mal Zugriffsprobleme... (Lösung am Ende) Java Basics - Anfänger-Themen 11
M Dynamisches Casten mal wieder Java Basics - Anfänger-Themen 4
P Zwei Charakter als Paramter übergeben und wieder ausgeben Java Basics - Anfänger-Themen 10
D Array speichern und wieder aufrufen Java Basics - Anfänger-Themen 6
Dit_ Thread stoppen und wieder starten Java Basics - Anfänger-Themen 2
M AudioStream - wiederholen, pausieren und wieder starten Java Basics - Anfänger-Themen 2
U Threads - Beenden/ Wieder starten Java Basics - Anfänger-Themen 10
B Mal wieder "cannot make a static reference..." Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben