0

MySQLの「BINARY(128)」フィールドに128バイトの長さのバイト配列を格納するJavaプログラムがあります。

次に、PHPを使用してデータベースにアクセスし、このデータをファイルにエクスポートするオプションを提供するので、バイナリデータをunpack()して、ファイルに書き込みます。

このファイルは、私が書いているJavaプログラムで読み取る必要がありますが、このデータをどのように読み取る必要があるかがわかりません。なにか提案を?

私は試してみました:

ByteArrayOutputStream baos = new ByteArrayOutputStream();
int i = 0;
while (i < 128) {
  System.out.println(baos.read());
  i++;
}

しかし、bis.read()はintを返し、mysqldbに送信したバイト配列は文字列でした。"text" .getBytes( "utf-8");

ありがとうございました、

4

3 に答える 3

1

FileInputStreamを使用してみませんか?(http://download.oracle.com/javase/1.4.2/docs/api/java/io/FileInputStream.html)

read()メソッドは、intを返しますが、バイトを読み取ります。

于 2011-03-29T10:07:52.427 に答える
1

データストリームを試しましたか?

于 2011-03-29T10:09:08.973 に答える
1

@Ricardoと@MarcoSの答えを組み合わせるには

 DataInputStream dis = new DataInputStream(new FileInputStream("my-data-file.dat"));
 try {
     byte[] bytes = new byte[128];
     dis.readFully(bytes);
     // read some more.

 } finally {
     try {
        dis.close();
     } catch(IOException ignored) { }
 }
于 2011-03-29T10:14:25.773 に答える