Конвертация Delphi в Java - PullRequest
       17

Конвертация Delphi в Java

1 голос
/ 11 февраля 2012

как я могу преобразовать определенный код, написанный на Delphi, в JAVA

  try

    LLine := TMemoryStream.Create;
    IdTCPClient1.IOHandler.WriteLn('atext');

    IdTCPClient1.IOHandler.ReadStream(LLine, -1);

    LLine.Position := 0;  
    LLine.Read(intval, 4); //the server is sending memstream as integer + ajpeg image

    Image1.Picture.Graphic.LoadFromStream(LLine);


  finally
   //free
  end;

приведенный выше код прекрасно работает с Delphi, но теперь я хочу создать и клиент Java, но мое собственное преобразование дает мнеошибка (java)

 Image image = null ;
 Socket socket = new Socket(someIP, myport);

Мое преобразование

      InputStream in = socket.getInputStream();
      OutputStream out = socket.getOutputStream();

         String string = "atext\n";

         byte buffer[] = string.getBytes();
         out.write(buffer);

    in.skip(4); // i don't want the integer

   image = ImageIO.read(in);

сервер получает текстовый текст отлично, но у моего клиента Java проблема, изображение всегда показывает нулевое значение (я назначил точку останова и проверил ее);

1 Ответ

0 голосов
/ 11 февраля 2012

Документация ImageIO.read (вход InputStream) гласит:

Если ни один зарегистрированный ImageReader не утверждает, что может прочитать полученный результат поток, возвращается ноль.

Таким образом, нулевое значение кажется нормальным в этом случае. Вы проверили, что соответствующий ImageReader зарегистрирован ? (Например, загрузив существующий, действительный файл эталонного изображения)

...