Input/Output FileOutputStream - neue Zeile mit write(10)

Corben

Mitglied
Hallo ich hab folgenden Problem:

[JAVA=17]while(iter.hasNext()){
String a1 = iter.next().toString();

for (int i=0; i<a1.length();i++)
fos.write((byte)a1.charAt(i));
fos.write(10);
}
} [/code]

in der txt steht alles, nur ohne \n. Also alles aneinander geklatscht. Wenn ich mir mit read() eine txt auf der Konsole ausgeben lasse, schreibt er bei "\n" 10. Wenn ich jetzt in meinem Code 55 anstatt 10 schreibe, dann wird hiter jeden Eintrag die 7 gehängt, 32 (" ") geht auch.
Was muss ich machen, damit mir die Einträge untereinander angezeigt werden?

Thx:)
 

XHelp

Top Contributor
Ich stelle einfach mal eine wilde Vermutung an: du benutzt Windows und um zu überprüfen was er geschrieben hat, öffnest du die Datei mit dem Ding, was "Editor" genannt wird?
In Windows besteht ein Zeilenumbruch nicht aus #10, sondern aus #13#10. Also kann Editor mit der einzigen 10 nichts anfangen.
Aber es sieht etwas kreativ aus, was du da machst. Vlt beschreibst du, was du vorhast.
 

thorstenthor

Bekanntes Mitglied
[JAVA=17]while(iter.hasNext()){
String a1 = iter.next().toString();

for (int i=0; i<a1.length();i++)
fos.write((byte)a1.charAt(i));
fos.write(10);
}
} [/code]

Was muss ich machen, damit mir die Einträge untereinander angezeigt werden?

[JAVA=17]while(iter.hasNext()){
String a1 = iter.next().toString();

for (int i=0; i<a1.length();i++)
if (a1.charAt(i) == 10) { fos.write((byte) 13); }
fos.write((byte)a1.charAt(i));
fos.write(10);
}
} [/code]

Soll heißen, iter liefert irgendwann Strings, in denen ein Zeilenumbruch nur \n ist. Windows benötigt dafür aber \r\n. Deshalb wird dann ein \r angehängt.

Poste mehr Code, dann können wir mehr helfen. Achja, bei Zeichen mit UTF8-Wert > 127 funktioniert obiges nicht mehr.
 
S

Spacerat

Gast
Wieso denn so schwierig? Man schachtele den FileOutputStream z.B. mit einem PrintStream und verwende von diesem dann die "println()"-Methoden. Diese Methoden schreiben je nach Betriebssystem die jeweiligen Zeilenumbrüche automatisch und verfügen ferner auch über die für einen Stream üblichen "write()"-Methoden ;)
 

thorstenthor

Bekanntes Mitglied
Auf Grundlage dessen, was bisher gepostet wurde, wissen wir nicht, für welchen Anwendungsfall er das braucht. Von daher rate ich lieber nicht übereilig und -eifrig zu irgendetwas.
Oben muss noch eine Klammer hin.
 

Corben

Mitglied
Vielen Dank schonmal.
Und XHelp hat vollkommen recht mit seiner Vermutung :)
Ich werde erst heut Abend Zeitfinden mich wieder eingehender damit zu beschäftigen.
Also der Fall ist so:
Ich habe eine ArrayList namens "produkte", gefüllt mit Objekten vom Typ "Produkt". Ich will alle Produkte in die IO.txt schreiben (untereinander).

Meine Lösung mit der while Schleife und der for, erschien mir nicht sonderlich aufwending. Werd mir diesbezüglich aufjedenfall mal "println()" angucken.

Und hier noch der Code:
Produktverwaltung:
Java:
import java.io.*;
import java.util.*;

public class Produktverwaltung {	
	public static ArrayList<Produkt> produkte = new ArrayList<Produkt>();
	public static void setp()throws IOException{
		produkte.add(new Produkt("Südwein", 24.99));		
		produkte.add(new Produkt("Edelburgunder", 129.99));
		produkte.add(new Produkt("Speisekäse", 3.49));
		produkte.add(new Produkt("Erdammer", 5.99));
		produkte.add(new Produkt("Trüffel", 1499.00));
		
		Iterator iter = produkte.iterator();

		FileOutputStream fos = new FileOutputStream("Z:\\EI 2\\Eclipse\\Übung09_5\\src\\IO.txt");
		
		while(iter.hasNext()){
			String a1 = iter.next().toString();
			
			for (int i=0; i<a1.length();i++)
				fos.write((byte)a1.charAt(i));
			fos.write(10);
		}
	}	
}

Produkt:
Java:
public class Produkt {
	String name;
	double preis;
	public Produkt (String name, double preis){
		this.name=name;
		this.preis=preis;
	}
	
	public String toString(){
		return name+", "+preis;
		
	}
}
 

HoaX

Top Contributor
Einfacher und besser zu lesen ist:
Java:
List<Produkte> produkte = ...;
FileOutputStream fos = ...
PrintStream ps = new PrintStream(fos);
for(Produkt p : produkte) {
    ps.println(p);
}
ps.close();
fos.close();
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
noah1407 Fileoutputstream Java Basics - Anfänger-Themen 4
S Datei-Speicherort von FileOutputStream Java Basics - Anfänger-Themen 4
M Fileoutputstream: Linux Dateinamen mit Umlaute Java Basics - Anfänger-Themen 4
J FileOutputStream aktuelle Speicher Pfad ausgeben Java Basics - Anfänger-Themen 13
J FileOutputStream Java Basics - Anfänger-Themen 3
J FileOutputStream write Java Basics - Anfänger-Themen 19
A fileoutputstream ändern Java Basics - Anfänger-Themen 14
F FileOutputStream.write Java Basics - Anfänger-Themen 2
N FileOutputStream und existenz von Datei überprüfen Java Basics - Anfänger-Themen 2
O OOP FileOutputStream überschreibt ganzen inhalt der txt Java Basics - Anfänger-Themen 4
hdi Datentypen FileOutputStream#write(int) mit ints? Java Basics - Anfänger-Themen 5
J FileOutputStream richtige Pfadangabe? Java Basics - Anfänger-Themen 8
A FileOutputStream -> byte[] (ohne File) Java Basics - Anfänger-Themen 6
G FileOutputStream generieren Java Basics - Anfänger-Themen 2
M FileOutputStream und zu große Zahlen! Java Basics - Anfänger-Themen 10
C FileInputStream und FileOutputStream Java Basics - Anfänger-Themen 4
P Neue Java v8 JRE Version nicht über alte drüber installierbar: Wie sonst? Java Basics - Anfänger-Themen 7
F Erste Schritte Zahlenreihe von Arraylist in 3erBlöcke sortiert in neue Arraylist Java Basics - Anfänger-Themen 2
B Verkettete Liste durchgehen und einzelne Elemente in neue Liste tun Java Basics - Anfänger-Themen 9
S JavaFX - Objekt an neue Stage übergeben Java Basics - Anfänger-Themen 12
C Nachträglich neue grafische Objekte hinzufügen Java Basics - Anfänger-Themen 7
A eine neue normale String-Array von einer String-Array, die in for schleife ist, schaffen Java Basics - Anfänger-Themen 3
B Neue Liste erstellen, wenn Objekte bestimmte Referenz hat / Gruppierung von Einträgen Java Basics - Anfänger-Themen 12
J Neue Werte in ein Array hinzugeben Java Basics - Anfänger-Themen 8
V Neue Ausgabe von toString nach Methodenaufruf Java Basics - Anfänger-Themen 9
B Objekt an neue Stage übergeben? Java Basics - Anfänger-Themen 9
L Neue Klasse für TableView? Java Basics - Anfänger-Themen 17
tsom Erste Schritte itext Text als Block auf neue Seite Java Basics - Anfänger-Themen 0
T Zufällige Matrix in neue Matrix schreiben Java Basics - Anfänger-Themen 6
M BufferedReader neue Zeile nach Knopfdruck Java Basics - Anfänger-Themen 9
S drawString() neue Zeile Java Basics - Anfänger-Themen 4
H Aus wav-datei lesen und in neue wav-datei speichern Java Basics - Anfänger-Themen 10
E Wenn i (for-Loop) bestimmter Wert, dann neue Zeile eines Buttons Java Basics - Anfänger-Themen 7
Hijo2006 Neue externe Klasse einbinden Java Basics - Anfänger-Themen 13
W Neue Klassenmethode implementieren.. Java Basics - Anfänger-Themen 6
U neue Methoden in JSP??? Java Basics - Anfänger-Themen 1
L0MiN Erste Schritte Neue Punkte zu einer Map hinzufügen und dauerhaft speichern? Java Basics - Anfänger-Themen 4
N wie schreibt man die neue for schleife? Java Basics - Anfänger-Themen 3
D Wie erstelle ich eine neue Hauptklasse mit eclipse? Java Basics - Anfänger-Themen 3
D neue public static class variablen in array speichern? Java Basics - Anfänger-Themen 6
B Neue Bibliothek hinzufügen Java Basics - Anfänger-Themen 2
S Daten aus anderen Dateien in neue Datei einlesen Java Basics - Anfänger-Themen 3
M FileWriter Neue Datei wenn aktuelle "zu groß" Java Basics - Anfänger-Themen 3
C auslesen bestimmter werte einer textdatei und anschl. hineinschreiben in eine neue txt-datei. Java Basics - Anfänger-Themen 2
R csv-Datei auslesen und ausgelesene Daten in neue csv-Datei speichern Java Basics - Anfänger-Themen 2
D Neue Array übernimmt Werte des alten nicht Java Basics - Anfänger-Themen 5
J Neue Zeile an bestimmter Stelle in Textdatei einfügen Java Basics - Anfänger-Themen 2
M Neue Objekte mit Hilfe von String Variable erschaffen Java Basics - Anfänger-Themen 2
I Neue Klassenbibliothek erstellen Java Basics - Anfänger-Themen 8
K Iteration - Alte und neue For Schleife Java Basics - Anfänger-Themen 17
M Klassen Eine Klasse abrufen ohne eine neue Instanze auf zu rufen? Java Basics - Anfänger-Themen 8
C Vector erzeugt neue Indizes nach Input Java Basics - Anfänger-Themen 2
S neue Methode schreiben Java Basics - Anfänger-Themen 14
E Variable neue Random Zahl zuweisen, wenn Button geklickt Java Basics - Anfänger-Themen 5
J Werte ins neue Fenster übertragen Java Basics - Anfänger-Themen 6
G Ausgabe nach 5 Zeichen in neue Zeile schreiben??? Java Basics - Anfänger-Themen 12
A Werte per Zufall aus einer Datei ziehen und in eine neue Datei schreiben Java Basics - Anfänger-Themen 9
F Variablen Übergabe von eingelesenen Variablen in neue Klasse Java Basics - Anfänger-Themen 15
U neue Java-Datei öffnen Java Basics - Anfänger-Themen 10
S Itext und eine neue Zeile einfügen Java Basics - Anfänger-Themen 2
K in Konstruktor neue Objekte einer anderen Klasse erzeugen Java Basics - Anfänger-Themen 9
S Datenströne - Text in eine Datei einlesen, umwandeln und in eine neue Datei schreiben Java Basics - Anfänger-Themen 6
F Neue Klasse mag nicht - nullPointerException Java Basics - Anfänger-Themen 6
L String suchen und ersetzten, ohne neue Datei Java Basics - Anfänger-Themen 4
X FileHandler: neue Datei erzeugen Java Basics - Anfänger-Themen 2
U Java neue Variable für jeden Schleifendurchgang Java Basics - Anfänger-Themen 11
K Neue Menge aus zwei Mengen konstruieren Java Basics - Anfänger-Themen 3
Luk10 Dateipfad beim Laden einer Datei + Neue kleine Frage! Java Basics - Anfänger-Themen 11
Hindi93 Neue Libs - wohin damit? Java Basics - Anfänger-Themen 7
G JUnit ist das neue main() Java Basics - Anfänger-Themen 16
M neue Zufallszahl in Schleife Java Basics - Anfänger-Themen 2
M java neue datei erstellen Java Basics - Anfänger-Themen 6
V Scanner Einlese aus Datei in neue Datei? Java Basics - Anfänger-Themen 8
Haubitze_Broese neue Klasse? Java Basics - Anfänger-Themen 6
F Neue Panelgröße nach Fenster maximieren Java Basics - Anfänger-Themen 5
S FileWriter - in neue Zeile schreiben!? Java Basics - Anfänger-Themen 19
P OOP Automatisch neue Objekte erstellen Java Basics - Anfänger-Themen 14
L Neue Zeile JTable Java Basics - Anfänger-Themen 13
B Eine neue Klasse in anderen Projekten nutzen Java Basics - Anfänger-Themen 5
W neue Variablen in Schleife anlegen Java Basics - Anfänger-Themen 13
S GridBagLayout neue Objekte hinzufügen Java Basics - Anfänger-Themen 3
M Action als neue Klasse Java Basics - Anfänger-Themen 2
B Teile einer Image in neue Image kopieren Java Basics - Anfänger-Themen 4
E Neue zeile in string Java Basics - Anfänger-Themen 3
L Mit Array neue Objekte erzeugen Java Basics - Anfänger-Themen 3
R Zeichnung entfernen und neue Zeichnen lassen Java Basics - Anfänger-Themen 20
R Neue GUI öffnen und die Alte schließen Java Basics - Anfänger-Themen 6
J ArrayList<Point> in eine neue ArrayList<Point> kopieren Java Basics - Anfänger-Themen 8
D Wie neue Instanz einer Klasse erstellen, von der ich nur eine andere Instanz kenne? Java Basics - Anfänger-Themen 13
S Stilfrage: Neue Klasse wenn es in einer Klasse zu viele Methoden gibt? Java Basics - Anfänger-Themen 14
G neue Instanz von ArrayList Java Basics - Anfänger-Themen 5
Zed Übergang von Kalenderwochen ins neue Jahr Java Basics - Anfänger-Themen 19
W JTextfield in neue Zeile einfügen Java Basics - Anfänger-Themen 5
JFeel-x Kann man in Eclipse neue Shortcuts erstellen? Java Basics - Anfänger-Themen 17
GambaJo Ab wann neue Klasse erzeugen? Java Basics - Anfänger-Themen 2
S Auf neue Dateien überprüfen Java Basics - Anfänger-Themen 2
Q java.util.loggging neue datei erstellen Java Basics - Anfänger-Themen 3
M Neue Pakete implementieren Java Basics - Anfänger-Themen 5
D neue Datei inkl. Ordner erstellen - in einem Rutsch? Java Basics - Anfänger-Themen 7
H ist eine "neue Session" für Mail möglich? Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben