Schreib Stream

Status
Nicht offen für weitere Antworten.

Spikez

Mitglied
Back again with a new one...

Ich schreib gerade ein Programm das Datensätze in String Arrays schreibt. Ich geb 1,2 Datensätze ein, danach soll mein Prog das ganze in eine Datei schreiben. Ich füg also
Code:
FileWriter schreibeDatei = new FileWriter("Array.txt");
ein.
Dann sag ich was er darein schreiben soll..

Wie sag ich dem Writer Stream jetzt was ich genau in Array.txt schreiben muss?

Hab mir das zb so vorgestellt:
Code:
schreibeDatei.println(mitArb[0]);

Nur erhalte ich eine Fehlermeldung:"cannot find method println()"
und "cannot find symbol mehtod println(java.lang.String)
obwohl ich (import java.lang.String;) eingefügt habe...so als zusatz zur 2ten fehlermeldung

Jmd eine Idee?
 

Ice-Tea

Bekanntes Mitglied
Ich glaube du suchst:

System.out.println("Hallo");

jedoch wird dir das bei deinem vorhaben nicht viel weiterhelfen.

Hier eine kleine Kopierfunktion, vielleicht kannste dir daraus ein wenig abgucken ;)
Code:
public void copyFile(File src, File dest, int bufSize,
            boolean force) throws IOException {
        if(dest.exists()) {
            if(force) {
                dest.delete();
            } else {
                throw new IOException(
                        "Cannot overwrite existing file: " + dest.getName());
            }
        }
        byte[] buffer = new byte[bufSize];
        int read = 0;
        InputStream in = null;
        OutputStream out = null;
        try {
            in = new FileInputStream(src);
            out = new FileOutputStream(dest);
            
            
            int pBsize = (int)(src.length() / buffer.length);
            System.out.println("buffer länge:" +pBsize);
            if(pBsize==0){
                super.jProgressBar1.setMaximum(1);
            }else{
                super.jProgressBar1.setMaximum(pBsize);
            }
            
            
            int i = 0;
            
            while(true) {
                
                read = in.read(buffer);
                
                jProgressBar1.setValue(i);
                jProgressBar1.paint(jProgressBar1.getGraphics());
                
                i++;
                if (read == -1) {
                    //-1 bedeutet EOF
                    break;
                }
                out.write(buffer, 0, read);
            }
        } finally {
            // Sicherstellen, dass die Streams auch
            // bei einem throw geschlossen werden.
            // Falls in null ist, ist out auch null!
            if (in != null) {
                //Falls tatsächlich in.close() und out.close()
                //Exceptions werfen, die jenige von 'out' geworfen wird.
                try {
                    in.close();
                } finally {
                    if (out != null) {
                        out.close();
                    }
                }
            }
        }
    }

EDIT:
Kurzanleitung für dein vorhaben:
Neue datei anlegen (diese hat zunächst keinen Inhalt; NULL)
Datei zeilenweise beschreiben
 

Leroy42

Top Contributor
... oder du baust dir einen PrintWriter um deinen FileWriter herum
Code:
PrintWriter schreibeDatei = new PrintWriter(new FileWriter("Array.txt"));

... dann klappt's auch mit dem schreibeDatei.println(...) :wink:
 

Spikez

Mitglied
Die Lösung mit dem PrintWriter scheint gut!
Nur erhalte ich dann:"unreported exception java.io.IOException; must be caught or declared to be thrown"
Was das wohl heißen mag?
 

Leroy42

Top Contributor
Ich darf mich heute ja leider nicht mehr zu Exceptions äußern :(

==> Mußt auf andere Antwort warten.
 

Spikez

Mitglied
Hehe


Ich hab die Lösung
try
{
blub und bla
}
catch(FileNotFoundException e){}
catch(IOException e){}
 

Tr3kk3r

Mitglied
Code:
BufferedWriter schreibeDatei = new BufferedWriter(new FileWriter("Array.txt"));
         for(int i=0;i<mitArb.length;i++)
         {
           // schreibeDatei((i+1)+". Datensatz: "+mitArb[i]); --> Konstruktoraufruf geht hier net
             schreibedatei.write((i+1)+". Datensatz: "+mitArb[i])); // sollte gehen
            schreibeDatei.newLine();
         }
         schreibeDatei.close();
 

merlin2

Top Contributor
schreibeDatei(String) gibt es eben nicht, musst du schreiben oder du meinst etwas anderes. Du hast nur ein Objekt schreibeDatei.

Außerdem: Ist FileNotFoundException keine Subklasse von IOException und somit im catch() überflüssig?
 

The_S

Top Contributor
Erstmal du, weil du mich nicht verstehst, ohne weitern Kommentar, dann weil du über was lachst, was du vermutlich nicht verstehst (leroy) und weil du zeug (wieder ohne Kommentar) löscht.

Dann Ice-Tea, weil ich keine Ahnung hab, was eine Ausgabe auf der Konsole mit der Ausgabe in einer Datei zu tun haben soll ("ich glaube du suchst System.out.println("Hello World")").

Dann Leroy, weil der mich generell überhaupt immer verwirrt, (heute ganz besonders) ;) .

Dann Tr3kk3r, der Code mit komischen Kommentaren bei einem schon gelösten Problem postet.

Und zu guter Letzt merlin2, weil ich den Sinn hinter seinem Posting auch nach wiederholtem Lesen nicht verstanden habe.

Evtl. bin ich aber auch einfach nur überarbeitet ;)
 

Tr3kk3r

Mitglied
nun den code hab ich gepostet weil der vorhergegangene beitrag noch einen fehler enthielt und eine beschreibung des fehlers. den habe ich in meinem code korrigiert. der beitrag, auf den ich mich bezog, scheint nun geändert worden zu sein...

/edit:
also für mich weist
darauf hin, dass der beitrag editiert wurde...
 

Spikez

Mitglied
Es handelt sich hier um Schreib Stream...Ich frag trotzdem mal eine Frage zum READ

So:
Code:
		try
		{
			BufferedReader leseDatei = new BufferedReader(new FileReader("Array.txt"));
			//leseDatei.readLine();
			String zeile="";			
			for(int i=0;zeile!=null;i++)
			{
				zeile=leseDatei.readLine();
				mitArb[i]=zeile;
				System.out.println(mitArb[i]);
			}
			leseDatei.close();
		}
schaut mein Read stream aus.
Das Programm funktioniert, nur bekomm ich in meiner CMD diese Meldung:"Exception in thread"main" java.lang.ArrayIndexOutofBoundsException"

Die soll nun weg ;-)
 

Tr3kk3r

Mitglied
Code:
try
      {
         BufferedReader leseDatei = new BufferedReader(new FileReader("Array.txt"));
         //leseDatei.readLine();
         String zeile= "";
         ArrayList<String> temp = new ArrayList<String>();
         while(zeile!= null)
          {
             zeile=leseDatei.readLine();
             temp.add(zeile);          
         }
         leseDatei.close();
        mitArb = temp.toArray();

      }

so müsste es gehen.

In dem von dir geposteten code werden mehr zeilen eingelesen, als du im array platz hast...
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
P OOP Wie schreib ich dieses Programm am besten? Java Basics - Anfänger-Themen 6
LimDul Suche Java Stream Tutorial Java Basics - Anfänger-Themen 2
W Stream und LocalDate Java Basics - Anfänger-Themen 15
M Stream mit den ersten n natürlichen Zahlen Java Basics - Anfänger-Themen 4
berserkerdq2 Wo ist der SInn, dass man den Stream, den ich zum Schreiben nutze, outputstream nenne? Java Basics - Anfänger-Themen 5
berserkerdq2 Wann soll ich den Stream schließen, wenn ich das in einer Methode habe? Java Basics - Anfänger-Themen 8
K Erste Schritte Stream-Aufruf vereinfachen Java Basics - Anfänger-Themen 3
I Datei als Stream aus Ressource laden? Java Basics - Anfänger-Themen 2
O Alternative zu Stream.forEach() Java Basics - Anfänger-Themen 6
Dimax stream in string[] speichern Java Basics - Anfänger-Themen 6
S Java Stream API Java Basics - Anfänger-Themen 6
A Stream Java Basics - Anfänger-Themen 14
N String N-Gramme mit Stream erstellen Java Basics - Anfänger-Themen 7
T Buffered Stream leert Txt File Java Basics - Anfänger-Themen 3
A Textdatei mit stream einlesen Java Basics - Anfänger-Themen 2
B Text-Datei nur in Stream speichern und dann ausgeben Java Basics - Anfänger-Themen 3
J Gefilterten Stream über die Konsole ausgeben Java Basics - Anfänger-Themen 1
J Count und Copy in Stream<Path> Java Basics - Anfänger-Themen 11
W for Schleife in allgemeingültiges Konstrukt aus Stream und Lambdas Java Basics - Anfänger-Themen 6
W Stream Array List - Frage Java Basics - Anfänger-Themen 5
G refactoring mit stream Java Basics - Anfänger-Themen 27
P Java Verketten von Stream - Bedeutung der Anweisungen? Java Basics - Anfänger-Themen 3
nightsky_ Methoden (Stream) Collectors.toMap() Java Basics - Anfänger-Themen 2
W HTTP-Stream auf Ajax umbauen Java Basics - Anfänger-Themen 7
elischa Client-Server IO und Stream Steuerung ? Java Basics - Anfänger-Themen 2
N Eigene Stream Methoden implementieren Java Basics - Anfänger-Themen 3
M Panel erstellen, welches ein Control erhält. Ausgabe soll über einen Stream erfolgen. Java Basics - Anfänger-Themen 0
E Stream closed - Obwohl nicht manuell geschlossen! Java Basics - Anfänger-Themen 0
N Java.io.ioexception: Stream closed Java Basics - Anfänger-Themen 2
P Wann Byte-Stream und wann Character-Stream? Java Basics - Anfänger-Themen 11
S Input/Output nullpointerException beim schliessen von stream Java Basics - Anfänger-Themen 3
A Integer aus Stream to Double Java Basics - Anfänger-Themen 7
P Java Stream, wann welche Stream verwenden? Java Basics - Anfänger-Themen 3
M Java Stream?! Java Basics - Anfänger-Themen 8
S Input/Output Data-Input/Output-Stream Java Basics - Anfänger-Themen 2
V Jar-Datei von Byte-Array oder Stream laden? Java Basics - Anfänger-Themen 9
J Input/Output Auf effiziente Weise einen Stream auszulesen Java Basics - Anfänger-Themen 5
M Stream close Java Basics - Anfänger-Themen 6
A Prüfen ob Datei geöffnet ist bzw Stream finden Java Basics - Anfänger-Themen 2
H exception "java.io.IOException: Stream closed" Java Basics - Anfänger-Themen 10
Burny91 File.delete(file) geht nicht-Offener Stream aber WO? Java Basics - Anfänger-Themen 4
M Audio Stream läuft auf :connection abort: socket write error Java Basics - Anfänger-Themen 2
H Fehler-Stream grafisch umsetzen Java Basics - Anfänger-Themen 4
H Datentypen Byte-Array aus Stream lesen Java Basics - Anfänger-Themen 3
S Fehler beim Speichern von MP3-Stream Java Basics - Anfänger-Themen 6
bambi0815 Text Datei Stream to Char[][] Java Basics - Anfänger-Themen 7
D JSP: IOException: Stream closed nach dispatchter.forward(..) Java Basics - Anfänger-Themen 13
G Warum bei Stream close() aufrufen. Java Basics - Anfänger-Themen 12
G NoClassDefFoundError: javax/xml/stream/XMLStreamException Java Basics - Anfänger-Themen 23
P Stream Java Basics - Anfänger-Themen 4
alexpetri javax.xml.stream.* nicht gefunden Java Basics - Anfänger-Themen 3
M Stream unvollständig Java Basics - Anfänger-Themen 5
Zed Stream in Variable speichern. Java Basics - Anfänger-Themen 3
M Input/Output Stream aus einem String Java Basics - Anfänger-Themen 2
M Stream in String umwandeln Java Basics - Anfänger-Themen 5
K datei komplett als Stream oder ähnliches Java Basics - Anfänger-Themen 4
A Serialisierbarer Stream? - File per RMI versenden Java Basics - Anfänger-Themen 4
R Binary Stream in Bild umwandeln Java Basics - Anfänger-Themen 5
C Position im Objekt-Stream Java Basics - Anfänger-Themen 2
M Ausgabe in String anstatt auf Stream Java Basics - Anfänger-Themen 17
C Stream-Konzept Java Basics - Anfänger-Themen 2
A von Socket-Stream lesen Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben