Encoding

D

DanKrent

Gast
Hallo Zusammen,

wir haben in der Uni folgende Aufgabenstellung:

Schreiben Sie ein Programm, das die Zeichenfolge „Die Welt kostet 17 €“ mit einem anschließenden Zeilenumbruch in UTF-8-Kodierung in eine Datei schreibt. Lesen Sie die Datei anschließend byteweise ein und geben Sie die Byte-Folge auf dem Bildschirm aus. Geben Sie die Bytes in Dezimalschreibweise aus.
Wenn Sie alles richtig gemacht haben, gibt Ihr Programm folgendes aus:
68 105 101 32 87 101 108 116 32 107 111 115 116 101 116 32 49 55 32 226 130 172 13 10
Vergleichen Sie die Byte-Folge bitte genau mit der Ausgabe Ihres Programms.

Allerdings ist meine Ausgabe nicht identisch mit der Lösung und ich sehe meinen Fehler nicht. könnt ihr mir einen Hinweis geben wo ich den Fehler suchen könnte. Und noch etwas aus neugier, was bedeutet: @SuppressWarnings("resource")?? Was will mir java damit mitteilen? Danke euch im Voraus

Grüsse Daniel

Java:
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStreamReader;
import java.io.Reader;

import java.io.IOException;

import java.io.OutputStreamWriter;
import java.io.Writer;




public class Präsenzaufgabe_B6_Encodings {
	
	
	
	public static void main(String[] args) {
		try {
			
			File fileDir = new File("E:\\präsenzaufgabe_B6");
			Writer out = new OutputStreamWriter(
					new FileOutputStream(fileDir), "UTF-8");
			out.write("Die Welt kostet 17€\n"); 
			out.flush();
			out.close();
			
			
			
			
			@SuppressWarnings("resource")
			Reader in = new InputStreamReader(new FileInputStream(fileDir));
			
			while(in.read()!=-1){
			int bla = in.read();
			
			
				System.out.print(bla+" ");}
				
			
			
			
		
		System.exit(0);
		} catch (IOException e) {
		e.printStackTrace();
		}

}

}
 

Bleiglanz

Gesperrter Benutzer
versuch mal
Java:
            Reader in = new InputStreamReader(new FileInputStream(fileDir));
            for(int bla=bla=in.read(); bla!=-1;bla=in.read()){
                System.out.print(bla+" ");
            }
ich glaube du verlierst jedes zweite read()
 

ssoul26

Bekanntes Mitglied
Hier liegt dein Problem
Java:
      while(in.read()!=-1){
            int bla = in.read();
Du liest nämlich 2 Mal. Einmal für die Überprüfung und dann für die Zuweisung.
 
Zuletzt bearbeitet:

xehpuk

Top Contributor
Hi,

  1. Code:
    Die Welt kostet 17€
    ist nicht gleich
    Code:
    Die Welt kostet 17 €
    (fehlendes Leerzeichen).
  2. Zum einen der Hinweis der Vorposter (ein
    Code:
    read()
    verwirfst du), zum anderen liest du die Datei zeichenweise (
    Code:
    Reader
    ), nicht byteweise (
    Code:
    InputStream
    ) ein.
  3. Mit
    Code:
    @SuppressWarnings("resource")
    wird eine Compiler-Warnung unterdrückt. Und zwar wohl diese, dass du eine Ressource öffnest, aber nicht wieder schließt.
 

DeeKay

Neues Mitglied
Hallo Zusammen,

vielen Dank für eure Hilfe. Die for-Schleife funktioniert einwandfrei. Habe es auch mit der while-Schleife hinbekommen.

Java:
                   @SuppressWarnings("resource")
			Reader in = new InputStreamReader(new FileInputStream(fileDir));
			int bla;
			while(( bla=in.read())!=-1){
	                          // int bla = in.read();
	                       System.out.print(bla+" ");

                       }

Danke an alle.
 

xehpuk

Top Contributor
Also der zweite Teil meines zweiten Hinweises gilt nach wie vor (du kriegst weiterhin ein falsches Ergebnis) und der dritte Hinweis gilt ebenfalls noch (die Ressource solltest du schließen).
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
G XML encoding wird nicht übernommen Java Basics - Anfänger-Themen 17
B CSV einlesen - Parameter a) encoding b) delimiter Java Basics - Anfänger-Themen 7
I JAXBContext / UnmarshalException / Content is not allowed in prolog / encoding="iso-8859-15" Java Basics - Anfänger-Themen 2
M DBF-Files und Encoding Java Basics - Anfänger-Themen 4
J Encoding Problem beim Einlesen einer txt Datei mit Umlauten Java Basics - Anfänger-Themen 3
K Encoding von JTextfield Java Basics - Anfänger-Themen 2
S encoding Java Basics - Anfänger-Themen 5
M Input/Output Namen der Files aus einem Ordner MIT bestimmten Encoding auslesen? Java Basics - Anfänger-Themen 3
S Sonderzeichen "§" wird nicht erkannt - Stichwort Encoding! Java Basics - Anfänger-Themen 13
C Problem mit encoding und String Suche Java Basics - Anfänger-Themen 6
P String und das encoding Java Basics - Anfänger-Themen 4
S Encoding für Stringparsing Java Basics - Anfänger-Themen 4
N Das alte Thema "File Encoding" Java Basics - Anfänger-Themen 2
G Java Encoding von Java 5 hat sich geändert bei Java 6 ? Java Basics - Anfänger-Themen 3
W "Verliere" Encoding beim speichern in Datei Java Basics - Anfänger-Themen 7
G Character Encoding Java Basics - Anfänger-Themen 3
G encoding Java Basics - Anfänger-Themen 3
G Encoding Problem mit Eingabeaufforderung unter Windows? Java Basics - Anfänger-Themen 4
V String encoding überprüfen Java Basics - Anfänger-Themen 22
S HTML mit num. Unicode Notation (was:Probleme bei Encoding) Java Basics - Anfänger-Themen 7
M Java VM file encoding von CP1252 auf ISO-8859-1 ändern Java Basics - Anfänger-Themen 1

Ähnliche Java Themen

Neue Themen


Oben