1

我有一个问题,希望你能帮助我。问题如下。我有一台具有 http 服务的相机,我正在使用 http 与相机通信。所以我发送 http 请求并收到一个 http 响应,其中我有一个二进制 jpeg 数据。但我不知道如何将该数据转换为图片。所以我的问题,我的主要问题是如何将二进制数据转换为图片。

到目前为止,这是我的代码,我一直在获取图像。

URL url = new URL("http://10.10.1.154" + GETIMAGESCR());
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
String inputLine;
// while ((inputLine = in.readLine()) != null){
// inputLine = in.readLine();
File file = new File("D:\\alphas\\proba.bin");
boolean postoi = file.createNewFile();
FileWriter fstream = new FileWriter("D:\\alphas\\proba.bin");
BufferedWriter out = new BufferedWriter(fstream);
while ((inputLine = in.readLine()) != null){
out.write(in.readLine());
// out.close();
// System.out.println("File created successfully.");
System.out.println(inputLine);
}
System.out.println("File created successfully.");
out.close();
in.close()

;

4

2 回答 2

3

试试这个代码:

URL url = new URL("http://10.10.1.154" + GETIMAGESCR());
InputStream is = new InputStream(url.openStream());
FileOutputStream out = new FileOutputStream("D:\\alphas\\proba.jpg");
byte[] data = new byte[1024];
int readBytes = 0;
while ((readBytes = is.read(data)) > 0) {
  out.write(data,0,readBytes);
}
out.flush();
out.close();
is.close()
于 2012-10-11T21:35:38.983 回答
1

您可以使用 javax.imageio.ImageIO

URL url = new URL("http://10.10.1.154" + GETIMAGESCR());
BufferedImage bi = ImageIO.read(url.openStream())
于 2012-10-11T21:37:19.210 回答