Kopieren eines Bildes
michael80
- java
0 Martin Jung
Hallo Leute,
ich möchte mit JAVA eine simple Kopie von einem Bild erstellen. Dazu habe ich mir folgenes Überlegt:
--
import java.io.*;
public class readinPiC {
public static void main (String[] args) {
String dateiname = "pic.bmp";
String zeile;
try {
BufferedReader einlesen = new BufferedReader(new FileReader(dateiname));
FileOutputStream fout = new
FileOutputStream ("pic2.bmp");
PrintStream myOut = new PrintStream(fout);
while ((zeile = einlesen.readLine()) != null){
myOut.println(zeile);
}
einlesen.close();
}
catch (IOException e){
System.out.println("Fehler beim Einlesen");
}
}
}
--
Leider entspricht die Kopie des Bildes (also pic2.bmp) nicht mehr dem Original. Kann mir einer sagen warum und besser noch, wie ich es beheben kann?
Besten Dank Micha
Hi,
BufferedReader einlesen = new BufferedReader(new FileReader(dateiname));
Leider entspricht die Kopie des Bildes (also pic2.bmp) nicht mehr dem Original. Kann mir einer sagen warum und besser noch, wie ich es beheben kann?
Auf den schnellen Blick:
Weil Du zum Einlesen von Binärdaten einen Reader verwendest, welcher die Binärdaten bereits beim Lesevorgang interpretiert und dadurch (mit 9,999% Wahrscheinlickeit) verändert. Auch der PrintStream auf Ausgangsseite hat eine vergleichbare Funktion.
Du benötigst also Input-/und OutputStreams, die die Binärdaten unverändert lassen.
Viele Grüße,
Martin Jung
Hey Danke!
Wenn man weis wo nach man suchen muss gehts auch ein wenig leichter ;-)
Micha
Hallo michael80,
Martin hat Dir doch gesagt, dass Du Input-/OutputStreams verwenden sollst.
Welche von java.io.InputStream bzw java.io.OutputStream abgeleiteten Klassen kommen denn da wohl in Frage, wenn man Dateien lesen/schreiben will?
Schau doch einfach mal in die Java Api Spezifikation
Grüße
Daniel
Hi Daniel,
ich glaube (besser: hoffe), dass hier ein kleines Missverständnis vorliegt (***). Ich glaube, Michael wollte sich für den Wink mit dem Zaunpfahl bedanken.
***: wegen des smileys
Viele Grüße,
Martin
Hallo Martin,
Du hast wohl recht. Ich bin schon so gewohnt, hier fragen zu suchen zu müssen, wo keine stehen, dass ich nicht mehr merke, wenn es mal wirklich keine Frage sein soll ;-)
Grüße
Daniel