Binäre Datei lesen/schreiben

Hallo,

ich möchte eine Binäre Datei z.B. PDF, TIF, JPG,… in Java in eine „Tabelle“ einlesen bzw. aus einer Tabelle schreiben.

Hintergrund:
Ich arbeite mit SAP und dem SAP JAVA-Connector JCO. In SAP haben wir z.B. TIF Bilder abgelegt. Ein solches Bild möchte ich nun an JAVA übergeben und über JAVA in ein bestimmtes Verzeichnis schreiben.
Umgekehr möchte ich auch über JAVA eine Datei z.B. PDF einlesen, an SAP übegeben und dort ablegen.

Wie kann ich in Java ein binäres File lesen und dies z.B. 1zu1 in einem anderen Verzeichnis ablegen. Die Verbindung zu SAP ist kein Problem.
Mein Problem ist nur das FileHandling. Irgendwie ist mein TIF nach dem schreiben nicht mehr ok.

Bisheriger Versuch:
RandomAccessFile fh1 = null;
fh1 = new RandomAccessFile(fileName, „rw“);
for (int i = 0; i

Hallo,

for (int i = 0; i

Ich kenne die SAP API nicht, aber ich kann mir nicht vorstellen, dass man Binärdaten als String einliest. Und das Schreiben als String ist ebenfalls keine gute Idee.

Ich würde eher eine Methode vergleichbar zu getBinaryStream in java.sql.ResultSet erwarten:

InputStream is = table.getBinaryStream("ZEILE");
byte[] buffer = new byte[1024 \* 1024];
int len = 0;
while((len = is.read(buffer)) \> 0)
{
 fh1.write(buffer, 0, len);
}

Gruß
Heavy