java.lang.Objectjava.io.InputStream
java.io.FilterInputStream
java.security.DigestInputStream
public class DigestInputStream
A transparent stream that updates the associated message digest using the bits going through the stream.
To complete the message digest computation, call one of the
digest methods on the associated message
digest after your calls to one of this digest input stream's
read methods.
It is possible to turn this stream on or off (see
on). When it is on, a call to one of the
read methods
results in an update on the message digest. But when it is off,
the message digest is not updated. The default is for the stream
to be on.
Note that digest objects can compute only one digest (see
MessageDigest),
so that in order to compute intermediate digests, a caller should
retain a handle onto the digest object, and clone it for each
digest to be computed, leaving the orginal digest untouched.
MessageDigest,
DigestOutputStream| Field Summary | |
|---|---|
protected MessageDigest |
digest
The message digest associated with this stream. |
| Fields inherited from class java.io.FilterInputStream |
|---|
in |
| Constructor Summary | |
|---|---|
DigestInputStream(InputStream stream,
MessageDigest digest)
Creates a digest input stream, using the specified input stream and message digest. |
|
| Method Summary | |
|---|---|
MessageDigest |
getMessageDigest()
Returns the message digest associated with this stream. |
void |
on(boolean on)
Turns the digest function on or off. |
int |
read()
Reads a byte, and updates the message digest (if the digest function is on). |
int |
read(byte[] b,
int off,
int len)
Reads into a byte array, and updates the message digest (if the digest function is on). |
void |
setMessageDigest(MessageDigest digest)
Associates the specified message digest with this stream. |
String |
toString()
Prints a string representation of this digest input stream and its associated message digest object. |
| Methods inherited from class java.io.FilterInputStream |
|---|
available, close, mark, markSupported, read, reset, skip |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
protected MessageDigest digest
| Constructor Detail |
|---|
public DigestInputStream(InputStream stream, MessageDigest digest)
stream - the input stream.digest - the message digest to associate with this stream.| Method Detail |
|---|
public MessageDigest getMessageDigest()
setMessageDigest(java.security.MessageDigest)public void setMessageDigest(MessageDigest digest)
digest - the message digest to be associated with this stream.getMessageDigest()
public int read()
throws IOException
on), this method
will then call update on the message digest associated
with this stream, passing it the byte read.
read in class FilterInputStreamIOException - if an I/O error occurs.MessageDigest.update(byte)
public int read(byte[] b,
int off,
int len)
throws IOException
len bytes from the input stream into the array
b, starting at offset off. This method
blocks until the data is actually
read. If the digest function is on (see
on), this method will then call update
on the message digest associated with this stream, passing it
the data.
read in class FilterInputStreamb - the array into which the data is read.off - the starting offset into b of where the
data should be placed.len - the maximum number of bytes to be read from the input
stream into b, starting at offset off.
len if the end of the stream is reached prior to
reading len bytes. -1 is returned if no bytes were
read because the end of the stream had already been reached when
the call was made.
IOException - if an I/O error occurs.MessageDigest.update(byte[], int, int)public void on(boolean on)
read methods results in an
update on the message digest. But when it is off, the message
digest is not updated.
on - true to turn the digest function on, false to turn
it off.public String toString()
Ces informations proviennent du site de http://java.sun.com
Le contenu de cette page provient du site de Sun, et est généré depuis un cache sur l'infobrol après certains traitements automatisés. La présentation peut donc différer du document original, mais le contenu aussi. Vous pouvez utiliser ce bouton pour afficher la page originale du site de Sun :
Maintenir les pages en cache sur différents sites peut offrir plus de disponibilité.
Chaque page est indexée dans la base de donnée, ce qui permet de retrouver facilement les informations, au moyen des sommaires, du moteur de recherche interne, etc.
Des facilités sont mises en place pour que les membres de l'infobrol puissent effectuer des traductions en français des différents documents. Ceci devrait permettre aux débutants en programmation Java de consulter les API en français s'ils maîtrisent moins bien la langue de Shakespeare. Dans le cas où une traduction a été soumise, elle est disponible au moyen d'un lien en bas de page. Si la traduction a été validée, la page s'affiche par défaut en français, et un lien en bas de page permet d'atteindre la version en anglais.
Le code sur l'infobrol est automatiquement coloré selon la syntaxe, et les différents mots clés sont transformés en liens pour accéder rapidement aux informations.
Vous avez la possibilité de partager vos expériences en proposant vos propres extraits de code en utilisant le bouton "ajouter un commentaire" en bas de page. Si vous visitez simplement l'infobrol, vous avez déjà accès à cette fonction, mais si vous étes membre du brol, vous pouvez en plus utiliser des boutons supplémentaires de mise en forme, dont la coloration automatique de vos extraits de codes.
Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher les interactions avec les réseaux sociaux sur ces pages.
6 mots clés dont 0 définis manuellement (plus d'information...).
Avertissement
Cette page ne possède pas encore de mots clés manuels, ceci est donc un exemple automatique (les niveaux de pertinence sont fictifs, mais les liens sont valables). Pour tester le nuage avec une page qui contient des mots définis manuellement, vous pouvez cliquer ici.Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher le nuage de mots clés.
Recherche (afficher)
Utilisateur (masquer)
Navigation (masquer)
Apparence (afficher)
Stats (afficher)
Citation (masquer)