用Java中的原始数据创建图像

用Java中的原始数据创建图像,java,tcp,javax.imageio,Java,Tcp,Javax.imageio,我已经编写了一个小型TCP客户端来检索各种数据。它可以很好地处理文本,但我不知道如何实现图像处理。此时,传入数据存储在阵列列表中: public ArrayList sendSelector(字符串选择器、字符串主机、int端口)引发IOException{ 套接字=新套接字(主机、端口); out=新的PrintWriter(socket.getOutputStream(),true); in=新的BufferedReader(新的InputStreamReader(socket.getInp

我已经编写了一个小型TCP客户端来检索各种数据。它可以很好地处理文本,但我不知道如何实现图像处理。此时,传入数据存储在
阵列列表中:

public ArrayList sendSelector(字符串选择器、字符串主机、int端口)引发IOException{
套接字=新套接字(主机、端口);
out=新的PrintWriter(socket.getOutputStream(),true);
in=新的BufferedReader(新的InputStreamReader(socket.getInputStream());
输出打印项次(编码百分比(选择器)+CRLF);
ArrayList行=新的ArrayList();
弦线;
而((line=in.readLine())!=null){
如果(第行等于(“.”)
打破
行。添加(行);
}
out.close();
in.close();
socket.close();
回流线;
}

如何使用存储在
阵列列表中的GIF或JPEG创建
图像
缓冲图像
?(或者我完全不知道,必须使用不同的数据结构吗?

一旦从服务器打开输入流,请使用以下方法创建图像:


为了提高效率,您可以将
包装到
缓冲输入流中

是否从服务器检索GIF或JPEG文件,或者图像数据是否为其他格式?我从服务器获取GIF或JPEG。
public ArrayList<String> sendSelector(String selector, String host, int port) throws IOException {
    socket = new Socket(host, port);
    out = new PrintWriter(socket.getOutputStream(), true);
    in = new BufferedReader(new InputStreamReader(socket.getInputStream()));

    out.println(encodePercent(selector) + CRLF);

    ArrayList<String> lines = new ArrayList();
    String line;

    while ((line = in.readLine()) != null) {
        if (line.equals("."))
            break;

        lines.add(line);
    }

    out.close();
    in.close();
    socket.close();

    return lines;
}
public BufferedImage sendSelector(String selector, String host, int port) throws IOException {
    socket = new Socket(host, port);
    try {
        out = new PrintWriter(socket.getOutputStream(), true);
        out.println(encodePercent(selector) + CRLF);
        in = socket.getInputStream();
        return ImageIO.read(in);
    } finally {
        socket.close(); // closes in and out as well
    }
}