ich beschäftige mich derzeit schon mit dem neuen Stoff
Nun schaue ich mir schon eine geraume Zeit I/O an und steige überhaupt nicht dahinter.
Kennt jemand vielleicht auch auf Deutsch ein gutes Nachschlage Werk?
Denn ich bekomme es ja nicht mal hin ein Programm zu schreiben was mir z. B. 100 Zufallszahlen ausgibt. Nun wollte ich dieses in eine Datei schreiben und dann auf der Platte speichern
Doch ich bin dazu zu doof! Ich verstehe nicht wie das klappen soll. Derzeit ist unser Script noch mit dem package java.io ausgelegt. Ich weiß nicht ob sich das geändert hat und das neue package java.nio dran kommt.
Habe in der Insel angefangen nach zu lesen doch die beginnen gleich mit nio2 und ich verstehe dabei nur Bahnhof
Nun habe ich den Link hier gefunden: http://www.highscore.de/java/aufbau/streams.html
Da werden die Klassen halbwegs ordentlich erklärt damit kann ich "etwas mehr anfangen"
Doch so wirklich schlau aus der ganzen Sache bin ich immer noch nicht geworden.
Also ich hab verstanden was ein Stream ist und das Java Byteorientierte und Zeichenorientiere Stream anbietet.
Ich verstehe nur einfach nicht wenn ich Daten im Programm erzeuge liegt ja alles im RAM. Wie sage ich Ihm jetzt aber erstelle eine Datei mit dem Inhalt und lege diese Datei /home/username/ ab?
Glaube das sollte so ziemlich das einfachste auf der Welt sein doch ich verstehe es nicht.
Wenn nicht lass ich das Thema weg und mach bei den Generics weiter
horstiii2 das buch habe ich schon
Da ist vor allem das Problem das er sehr schnell auf die Grafische Oberfläche eingeht und I/O später. Dadurch muss ich erstmal trennen zwischen I/O und GUI
Vorher habe ich das hier Buch benutzt und finde es ist einfach Hammer =) https://www.pearson-studium.de/programmieren-mit-java.html
Dort wird die Anfangsthematik super erklärt.
Ich werde es nun so machen wie VfL_freak sagte. Werde weiter ALDA durch arbeiten und das versuchen Parallele in Java umzusetzen. Dann habe ich ja wieder Übung mit den Grundlagen von Java
Die anderen Themen werde ich dann später bearbeiten und vielleicht wird ja auch das ein oder andere durch die Vorlesung verständlich denn mit der kann ich derzeit auch nix anfangen
Ich verstehe nur einfach nicht wenn ich Daten im Programm erzeuge liegt ja alles im RAM. Wie sage ich Ihm jetzt aber erstelle eine Datei mit dem Inhalt und lege diese Datei /home/username/ ab?
Naja, Du musst Dir natürlich überlegen, wie die Daten in der Datei dargestellt werden sollen. Oft läuft das so, dass die Daten "nacheinander" rausgeschrieben werden können. Dann nimmst Du einen (File)OutputStream oder einen (File)Writer und schreibst
Die ausgabe.txt sieht echt NETT aus
Es stehen nur Zeichen drin die nicht angezeigt werden können.
LG
PS: Wenn man den int wert vorher zu einem String castet klappt es aber das geht sicherlich auch direkt ein int wert in eine Datei zu kopieren.
Oder zählt ein int nicht als Zeichen? das ich dann byteorientiert Kopieren müsste?
Ich dachte nur wenn ich ein int habe dann lässt er es als int. Doch er interpretiert es als Zeichen. (klar steht dort ja auch Zeichenorientiert aber ist eine Zahl nicht auch ein Zeichen )
Jetzt habe ich aber noch eine doofe Frage.
Wieso gibt er mir bei dieser Schleife nicht jedes Zeichen in der Datei aus sondern wieder nur "Müll"?
Danke erst einmal jetzt habe ich ja einiges an stoff was ich ausprobieren kann. So ganz verstehe ich die ganzen Klassen auf dieser Seite noch nicht und schon gar nicht wieso und wie man Streams verkettet http://www.highscore.de/java/aufbau/streams.html
Zum "Wie": Du verkettest sie doch schon. Dein BufferedWriter nutzt unter der Haube einen FileWriter. Zum Wieso: weil bestimmte Implementierungen bestimmte Funktionalität haben. Du kannst einen PrintWriter mit allen erdenklichen Writer-Implementierungen verketten, dann kannst Du eben Methoden wie printf, println usw. nutzen.
OK, das waren jetzt Writer aber bei den Input/Output-Streams ist das genauso (nur dass diese eben nicht zeichen- sondern byteorientiert sind).
Nochmals vielen Lieben Dank für die Hilfe im Einstieg.
Ich werde dieses Thema jetzt zwar trotzdem hinten anstellen da ich mich erst wieder um die Algorithmen und Datenstrukturen kümmern möchte und damit eben auch wieder die Anfänge wiederhole
Danach komme ich später sicherlich wieder auf solche fragen zurück
Vielen Vielen Lieben Dank (leider gibt es hier kein Jubel Smilie )