Java gzip.read и PHP fread () дают разные результаты - PullRequest
0 голосов
/ 12 апреля 2010

У меня есть строка на Java, и в то время как я получаю номер:

i = gzipinputstream1.read(abyte0, j, 4096);

Из номера:

959
1552
1577
1617
1680

когда я хочу использовать в php:

$i = fread($handle, 959):

при возврате:

959,
959,
959,
5

Как сделать так, чтобы в PHP результат был таким же?

1 Ответ

0 голосов
/ 12 апреля 2010

Вам необходимо прочитать поток полностью дюйма. Прямо сейчас вы указываете Java , что вы читаете длину до 4096 байт, и вы инструктируете PHP для чтения длиной до 959 байтов.

Если длина содержимого заранее неизвестна, то в Java вам скорее нужен метод InputStream#read(), который не принимает никаких аргументов, а в PHP stream_get_contents(), в котором вы опустите аргументы maxlength и offset.

...