Problem mit BufferedWriter

  • Themenstarter Themenstarter Ralf Pongratz
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
R

Ralf Pongratz

Gast
Hallo zusammen!

Ich habe ein Problem, wenn ich mit Hilfe eines BufferedWriters eine Datei erstelle.
Eine Eingabedatei wird gelesen und in eine Ausgabedatei geschrieben. Das funktioniert auch einwandfrei. Allerdings verändere ich an gewissen Stellen einzelne Zeichen. Und da beginnt das Problem: Wenn ich (wie im Beispiel unten) ein Zeichen im Bereich 80h...9Fh schreiben will, erhalte ich ein 3Fh.
Bei allen anderen Zeichen funktioniert es. Es funktioniert auch bei den Zeichen, die unverändert übernommen werden (auch, wenn sie im genannten Bereich liegen).
Weiß jemand da eine Lösung?

Hier ein Stück Beispielcode, das das Problem verdeutlicht:

Code:
public static void main(String args[]) {
	try {
		File fileO = new File("test.dat");
		BufferedWriter Out = new BufferedWriter(new FileWriter(fileO));
		Out.write(139); //139 = 8Bh
		Out.close();
	} catch (IOException IOE) {
	}
}

Ralf
 
Kim Stebel hat gesagt.:
versuch mal die 139 explizit auf den gewünschten typ zu casten

Du meinst direkt als char? So mache ich es im richtigen Programm auch. Mit dem gleichen Misserfolg.
 
Versuch doch einfach mal nen BufferedOutputstream anstelle des BufferedWriters zu benutzen?

Code:
import java.io.*;

public class Chrwrite
{
 public static void main(String[] args)
 {
  File f = new File("test");
  BufferedOutputStream bo = null;
  
  try
  {
   bo = new BufferedOutputStream(new FileOutputStream(f));
   
   for (int i=0;i<256;i++)
    bo.write(i);
  }
  catch (IOException e)
  {
   e.printStackTrace();
  }
   
  try
  {
   if (bo != null)
    bo.close();
  }
  catch (IOException e)
  {
   e.printStackTrace();
  }
 }
}
 
Vielen Dank für die Hilfe, es funktioniert mit dem BufferedOutputStream.

Ralf
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben