Английский:Почему ByteArrayOutputStream и ByteArrayInputStream не совпадают с содержимым?
У меня есть большая проблема, во время одного из моих модульных тестов в Java. Я сравниваю массив байтов с InputStream, и я не получаю тот же результат.
Пример приведен ниже.
Благодарим за помощь, которую вы можете мне дать! :)
Français:
Bonjour Tout Le Monde!
J'ai un gros problème lors d'un de mes tests unitaires en java. Je dois comparer un tableau d'octet avec un objet InputStream et je n'obtiens pas le même résultat.
L'exampleple est plus bas.
Merci pour l'aide que vous pourrez m'apporter! :)
Пример:
public final class ByteGetInputStreamExampleProblem
{
public static void main(final String[] args) throws Exception
{
final SecureRandom s = new SecureRandom() ;
final ByteArrayOutputStream bos = new ByteArrayOutputStream() ;
long bPut = 0 ;
final byte[] buffer = new byte[ 2 ] ;
while(bPut < 10)
{
s.nextBytes(buffer) ;
bos.write(buffer) ;
bPut += buffer.length ;
}
final InputStream is = new ByteArrayInputStream(bos.toByteArray()) ;
System.out.print("A = ");
for(int i = 0 ; i < bos.size() ; i++)
System.out.print(bos.toByteArray()[i] + ";") ;
System.out.print("\nB = ");
int c ;
while((c = is.read()) != -1)
System.out.print(c + ":");
} ;
} ;
Выход/Sortie:
А = -3; -47; -121; 37; -73; 83 ; 109; -54; 20; 106;
В = 253: 209: 135: 37: 183: 83: 109: 202: 20: 106:
Это верно. И прочитайте, что такое ** «Дополнение» **. – RafToTheK
Это работа :) Большое спасибо! Хорошего дня ! – SkayParadigm