O
Osiris64
Gast
Hallo
habe ein kleines Problem
ich lese über eine URL eine datei aus dem WEB in einen DataInputStream.
Dann lese ich byte oder char Weise den Inhalt und schreibe diesen in einen DataOutputStream.
Alles funktioniert auch, nur bei einigen URL's bekomme ich die Umlaute nicht hin.
Hier der Code
void getRSS(String urlST)
{ // Beginn : Methode
try
{ // Begin : try
URLConnection uc = new URL(urlST).openConnection();
DataInputStream buffer = new DataInputStream(uc.getInputStream());
DataOutputStream dos = new DataOutputStream(new FileOutputStream("rss.xml"));
boolean EOF=false;
try
{
while(EOF==false)
{
char wert = buffer.readChar(); // Auch readBytes versucht
System.out.println("Wert als int : 2 " + wert);
dos.writeChar(wert); // Auch writeBytes versucht
// readUTF und writeUTF führen zu einem Fehler //
}
}
catch (EOFException e) {EOF = true;}
dos.flush();
dos.close();
} // End : try
catch (MalformedURLException e) {System.out.println("MAL : " + e.getMessage());}
catch (IOException e) {System.out.println("IO : " + e.getMessage());}
Hier eine andere Variante
void getRSS(String urlST)
{ // Beginn : Methode
try
{ // Begin : try
URLConnection uc = new URL(urlST).openConnection();
DataInputStream buffer = new DataInputStream(uc.getInputStream());
File ausgabeDatei = new File("rss.xml");
FileWriter fw = new FileWriter(ausgabeDatei);
BufferedWriter bw = new BufferedWriter(fw);
String fromRSS="";
BufferedReader r = new BufferedReader(new InputStreamReader(buffer, "UTF-8"));
int c;
while((c = r.read()) != -1)
{
System.out.println("Zeichen : int : " + c + " Char : " + (char)c);
fromRSS = fromRSS + c;
}
bw.write(fromRSS);
bw.flush();
bw.close();
fw.close();
r.close();
} // End : try
catch (MalformedURLException e) {System.out.println("MAL : " + e.getMessage());}
catch (IOException e) {System.out.println("IO : " + e.getMessage());}
Beide Fälle schrieben mir eine saubere XML dazei, nur die Umlaute stimmen nicht.
Hat jemand eine Idee
Danke im Voraus
habe ein kleines Problem
ich lese über eine URL eine datei aus dem WEB in einen DataInputStream.
Dann lese ich byte oder char Weise den Inhalt und schreibe diesen in einen DataOutputStream.
Alles funktioniert auch, nur bei einigen URL's bekomme ich die Umlaute nicht hin.
Hier der Code
void getRSS(String urlST)
{ // Beginn : Methode
try
{ // Begin : try
URLConnection uc = new URL(urlST).openConnection();
DataInputStream buffer = new DataInputStream(uc.getInputStream());
DataOutputStream dos = new DataOutputStream(new FileOutputStream("rss.xml"));
boolean EOF=false;
try
{
while(EOF==false)
{
char wert = buffer.readChar(); // Auch readBytes versucht
System.out.println("Wert als int : 2 " + wert);
dos.writeChar(wert); // Auch writeBytes versucht
// readUTF und writeUTF führen zu einem Fehler //
}
}
catch (EOFException e) {EOF = true;}
dos.flush();
dos.close();
} // End : try
catch (MalformedURLException e) {System.out.println("MAL : " + e.getMessage());}
catch (IOException e) {System.out.println("IO : " + e.getMessage());}
Hier eine andere Variante
void getRSS(String urlST)
{ // Beginn : Methode
try
{ // Begin : try
URLConnection uc = new URL(urlST).openConnection();
DataInputStream buffer = new DataInputStream(uc.getInputStream());
File ausgabeDatei = new File("rss.xml");
FileWriter fw = new FileWriter(ausgabeDatei);
BufferedWriter bw = new BufferedWriter(fw);
String fromRSS="";
BufferedReader r = new BufferedReader(new InputStreamReader(buffer, "UTF-8"));
int c;
while((c = r.read()) != -1)
{
System.out.println("Zeichen : int : " + c + " Char : " + (char)c);
fromRSS = fromRSS + c;
}
bw.write(fromRSS);
bw.flush();
bw.close();
fw.close();
r.close();
} // End : try
catch (MalformedURLException e) {System.out.println("MAL : " + e.getMessage());}
catch (IOException e) {System.out.println("IO : " + e.getMessage());}
Beide Fälle schrieben mir eine saubere XML dazei, nur die Umlaute stimmen nicht.
Hat jemand eine Idee
Danke im Voraus