1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

java + zeichenweise einlesen

    • Frage
  • caesarju
  • 3. Dezember 2005 um 14:33
  • Unerledigt
  • caesarju
    4
    caesarju
    Mitglied
    Punkte
    115
    Beiträge
    17
    • 3. Dezember 2005 um 14:33
    • #1

    salve,

    hab da ein großes problem in java!! ich will aus einer txt datei den inhalt zeichenweise einlesen! das klappt ja noch ganz gut! nur das problem ist dabei, dass er alle meine leerzeichen überspringt und sie mir nicht mehr ausgibt!!!

    gibts eine möglichkeit dass die klasse ... = In.readChar(); auch meine leerzeichen berücksichtig???

    glg markus

  • sommeralex
    11
    sommeralex
    Mitglied
    Punkte
    1.325
    Beiträge
    188
    • 8. Dezember 2005 um 13:32
    • #2

    String text;
    probier mal in.readLine = text;

    Char[] text_array = text.toCharArray();

    jetzt gehst du in einer schleife dein array durch, und es sollten auch leerzeichen dabei sein.

  • caesarju
    4
    caesarju
    Mitglied
    Punkte
    115
    Beiträge
    17
    • 8. Dezember 2005 um 16:43
    • #3
    Zitat von sommeralex

    String text;
    probier mal in.readLine = text;

    Char[] text_array = text.toCharArray();

    jetzt gehst du in einer schleife dein array durch, und es sollten auch leerzeichen dabei sein.

    salve,

    danke fürn tipp, es problem is nur, dass wir keine arrays benutzen dürfen!!!

    geht des auch irgendwie anders??? wenn nicht, dann werd ich es so probieren!!!

  • KeinWunder
    7
    KeinWunder
    Mitglied
    Punkte
    490
    Beiträge
    90
    • 8. Dezember 2005 um 16:46
    • #4

    du könntest einen StringBuffer verwenden und dem immer die einzelnen Zeichen hinzufügen

    Four stages of acceptance:
    1.) this is worthless nonsense
    2.) this is interesting, but perverse, point of view
    3.) this is true, but quite unimportant
    4.) I alwas said so
    J.B.S. Haldane

  • gelbasack
    25
    gelbasack
    Mitglied
    Reaktionen
    90
    Punkte
    6.525
    Beiträge
    1.241
    • 8. Dezember 2005 um 16:47
    • #5

    Du könntest auch stringname.charAt() verwenden... naja... wo da der Unterschied zu nem Array ist... aber wirklich Array wär's keines :winking_face:

  • sommeralex
    11
    sommeralex
    Mitglied
    Punkte
    1.325
    Beiträge
    188
    • 8. Dezember 2005 um 23:11
    • #6

    bist du dir sicher, dass keine leerzeichen berücksichtigt werden? schau mal unter regex nach, wie die definition eines leerzeichens ist. vielleicht fängst du es nicht richtig ein? als string geht ja " " aber ob ein char auch ' ' ist, bin ich mir nicht sicher.

  • beefy
    13
    beefy
    Mitglied
    Reaktionen
    18
    Punkte
    1.683
    Beiträge
    304
    • 9. Dezember 2005 um 00:34
    • #7

    Also wenn's wirklich nur ums zeichenweise Einlesen einer Datei und nicht um irgendwelche regular expressions geht, dann sollte z.B. dieser Code dir weiterhelfen:

    Java
    import java.io.*;
    
    
    public class DateiLeser {
    
    
    	public static void main(String[] args) {
    		if (args.length != 1) {
    			System.err.println("Benützung: java DateiLeser EINGABEDATEI");
    			System.exit(1);
    		}
    
    		try {
    			FileReader f = new FileReader(args[0]);
    
    			int c;
    			while ((c = f.read()) != -1) System.out.print((char)c);
    			f.close();
    		} catch (IOException e) {
    			System.out.println("Die Datei konnte nicht eingelesen werden.");
    			System.exit(1);
    		}
    	}
    
    
    }
    Alles anzeigen
  • caesarju
    4
    caesarju
    Mitglied
    Punkte
    115
    Beiträge
    17
    • 10. Dezember 2005 um 15:01
    • #8
    Code
    static void verschluesseln(int n, char buchstabe, int buchstabeNeu, char buchstabeOut) {
            //methode zur verschlüsselung der zahlen        
    
        //Text von Datei einlesen
        In.open("caesar.txt");
        Out.open("caesarVerschluesselt.txt");
    
        while(In.done()) {
                buchstabe = In.readChar();
                //Out.print(buchstabe);
                Out.print("");
    
        //Berechnung durchführen
                if(buchstabe >=97 && buchstabe <=122) {
                    buchstabeNeu = buchstabe + n;
                    if(buchstabeNeu >=122) {
                        buchstabeNeu = buchstabeNeu - 26;    
                    }
                }else {
                        buchstabeNeu = buchstabe;
                        }
    
    
        //neuen Text ausgeben
        buchstabeOut = (char) buchstabeNeu;
    
        //In.close();
        //Out.open("caesarVerschluesselt.txt");
    
        Out.print(buchstabeOut);
        }
        In.close();
        Out.close();
        Out.println("Verschluesselung laeuft!");
        Out.println("");
    }
    Alles anzeigen

    das soll mein verschlüsselungsprogramm sein, hab nur das problem mit den leerzeilen, wenn ich die sachen auch mit der funktion "In.readLine();" machen dann hab ich zwar alles aber wie kann ich diesen string, ohne array wieder so umwandeln, dass ich erstens wieder zeichenweise lesen kann und zweitens damit auch rechnen kann???

  • beefy
    13
    beefy
    Mitglied
    Reaktionen
    18
    Punkte
    1.683
    Beiträge
    304
    • 10. Dezember 2005 um 15:26
    • #9

    Ich hab keine Ahnung was deine komischen In- und Out-Klassen so machen, tut mir leid. Außerdem hast du scheinbar die grundlegenden Begriffe Variablen und Methodenparameter nicht wirklich verstanden; nimm doch bitte Nachhilfe oder lies einfach mal ein Buch (warum nicht gleich das gratis online verfügbare Handbuch der Java-Programmierung?).

    EDIT:
    Wie gesagt kenne ich deine In- und Out-Klassen nicht, ich trau mich aber trotzdem wetten daß es nicht

    Code
    while(In.done())

    sondern

    Code
    while(!In.done())

    heißen sollte!

  • caesarju
    4
    caesarju
    Mitglied
    Punkte
    115
    Beiträge
    17
    • 12. Dezember 2005 um 13:12
    • #10

    salve,

    sorry, lerne die Sprache erst seit 2 monaten, wir benützen fertige in und outs!!!

    dein tipp im programm funktioniert nicht!!!

    trotzdem danke für die hilfe

  • Maximilian Rupp 27. Dezember 2024 um 12:06

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Benutzer online in diesem Thema

  • 1 Besucher

Rechtliches

Impressum

Datenschutzerklärung