Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Java » FileReader/Writer

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
04.12.2004, 21:21 Uhr
~-Sloth-
Gast


Ich versuche eine Datein zu kopieren. Das klappt soweit auch. Ich kann sie Zeichen weise Lesen und schreiben. Nur muss ich es auch Zeilenweise machen. ich kann sie auch zeilenweise zelen. Nur wenn ich sie dann schreibe werden keine Zeileumbrüche gemacht, deshalb hatte ich gedacht sowas zu schreiben.

outvar.write(Zeile +"\n");
Aber das macht keinen unterschied. Das Programm sieht so aus:


Code:
import java.io.*;

public class FileZeile
{
    public static void main(String[] args)
    {
        try
        {
            String eingabedatei = args[0], ausgabedatei = args[1],zeile;
            BufferedReader invar = new BufferedReader (new FileReader(eingabedatei));
            FileWriter outvar = new FileWriter(ausgabedatei);
            
            try
            {
                while( (zeile = invar.readLine()) != null )
                {
                    outvar.write(zeile);
                    System.out.println(zeile);
                }
                invar.close();
                outvar.close();
            }
            catch (IOException error)
            {
                System.out.println("Lesefehler: " + error);
            }
        }
        catch (IOException error)
        {
            System.out.println("Fehler beim oeffnen" + error);
        }
    }
}



Also er macht aus:
123
321
123

123 321 123
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
05.12.2004, 12:03 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


klar weil er mit write keine newlines schreibt?
probier mal writeln
--
class God : public ChuckNorris { };

Dieser Post wurde am 05.12.2004 um 12:03 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
05.12.2004, 13:18 Uhr
Sloth



Ja, wirteln hatte ich schon probiert dann kommt es aber zu dem Fehler:

Java/FileZeile.java [17:1] cannot resolve symbol
symbol : method writeln (java.lang.String)
location: class java.io.FileWriter
outvar.writeln(Zeile);
^
1 error
Errors compiling FileZeile.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
05.12.2004, 15:23 Uhr
typecast
aka loddab
(Operator)


Keiner der Writer hat die Methode writeln.

Man muss mit der write Funktion auskommen. Newlines muessen von Hand eingefuegt werden:


Code:
               while( (zeile = invar.readLine()) != null )
                {
                    outvar.write(zeile + "\n");
                    System.out.println(zeile);
                }


--
All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)

Dieser Post wurde am 05.12.2004 um 15:24 Uhr von typecast editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
08.12.2004, 18:31 Uhr
Sloth



Ich weiß es passt nicht richtig ins Thema, aber es steht an voll vielen stellen das es Besser ist einen BufferedReader zu benutzen, weil da der inhalt veränderbar ist. Und ich frag mich, warum ist den ein normaler String nicht veränderbar, wenn man die Länge und den inhalt ändern kann?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
08.12.2004, 20:01 Uhr
typecast
aka loddab
(Operator)


Tut mir leid, aber ich verstehe die Frage nicht. Du kannst doch nicht einen BufferedReader mit einem String vergleichen.
Der BufferedReader dient zum einlesen eines Strings (z.B. auseiner Datei). Die Klasse String dient zum arbeiten mit dem ausgelesenen String.

Koenntest du mal genauer erklaeren, was du meinst?
--
All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
15.12.2004, 12:37 Uhr
Sloth



Das alte Problem hat sich gelößt, sry, dass ich nicht geantwortet hab. Hab das vor lauter Stress vergessen. Allerdings hab ich ein neues Problem. Ich wollt einfach zum testen ein Programm machen, dass ein Array läd und wieder speichert. Nur das geht nicht so wie ich das wollte. In der Methde:


Code:
public static int[] laden(int[] array)
    {
        
        int i =0;
        String zeile;
        
        try
        {
            FileReader invar = new FileReader("laden.txt");
            while((zeile = invar.readLine())!=null)
            {
                array[i] = Integer.parseInt(zeile);
                i++;
            }
            invar.close();
        }
        catch (FileNotFoundException error)
        {
            System.out.println("Datei nicht gefunden -> " + error.toString());
        }
     return array;
    }



Bekomm ich immer diesen Fehler:

LadenSpeichern.java [54:1] cannot resolve symbol
symbol : method readLine ()
location: class java.io.FileReader
while((zeile = invar.readLine())!=null)

Ich kann mir nur leider nicht erklären wie es zu dem Fehler kommt. Könnt ihr mir da noch mal bitte helfen???
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
15.12.2004, 13:28 Uhr
virtual
Sexiest Bit alive
(Operator)


Na steht doch da: FileReader kennt die Methode readLine nicht. readLine kommt aus der Klasse BufferedReader, also solltest Dui invar so bauen:

Code:
BufferedReader invar = new BufferedReader(new FileReader("laden.txt"));


--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ Java ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: