これは私がこれまでのところ、私のコードで読むイメージファイル
Socket clientSocket = new Socket(HOST, PORT);
ByteArrayOutputStream buffer = new ByteArrayOutputStream();
InputStream is = socket.getInputStream();
byte[] byteChunk = new byte[1024];
int c = is.read(byteChunk);
while (c != -1){
buffer.write(byteChunk, 0, c);
c = is.read(byteChunk);
}
BufferedImage bufferedImage = ImageIO.read(new ByteArrayInputStream(buffer.toByteArray()));
私の問題は、ImageIO.read()
戻っnullでてきたものです。例えばÀã$sU,e6‡Í~áŸP;Öã…
などの異なる文字を空行に加え、多くの行が続く
私は何を得るByteArrayOutputStream
オブジェクトのコンテンツを印刷するヘッダ部
HTTP/1.1 200 OK
Date: Fri, 30 Dec 2011 11:34:19 GMT
Server: Apache/2.2.3 (Debian) ...........
Last-Modified: Tue, 20 Dec 2011 19:12:23 GMT
ETag: "502812-490e-4b48ad8d273c0"
Accept-Ranges: bytes
Content-Length: 18702
Connection: close
Content-Type: image/jpeg
あります。
もう一度私の問題はImageIO.read()
関数がnullを返すことです。
ありがとうございます。
HTTPから照会しているように見えるので、ローソケットの代わりにHTTPクライアント実装を使用するのはなぜですか? – fge
私は練習にソケットを使う必要があります。 –
イメージ・バイトを印刷し、それらを前書き込みおよび後読み出しと比較します。一致すれば送信に問題はない。私たちは他の面を見る。 –