Comment puis-je effectuer une itération sur tous les octets dans un inputStream à l'aide de Groovy, étant donné qu'il manque un faire-lors de la déclaration?
Étant donné que Groovy n'est pas un faire-lors de la déclaration, comment puis-je effectuer une itération sur tous les octets dans un flux d'entrée?
Par un la version précédente de la Groovy guide de l'utilisateur:
Pas de " do ... while()' la syntaxe encore.
En raison de l'ambiguïté, nous n'avons pas encore ajout du support pour le faire .. alors que pour Groovy
Quelle serait la meilleure façon de faire quelque chose comme le code Java suivant en Groovy?
def numRead = inputStream.read(fileBytes, 0, fileBytes.length);
do{
} while(numRead > 0);
(Je sais que je peux le faire à l'aide d'un booléen, je veux juste savoir si il y a un "Groovy" façon de faire)
Meilleure réponse par Tim yates: stackoverflow.com/questions/20921546/...
OriginalL'auteur talnicolas | 2011-11-18
Vous devez vous connecter pour publier un commentaire.
Le groovy (version 1.8+) serait comme ceci:
Comment puis-je appliquer cette méthode à un autre scénario où
BUFFER_SIZE
n'est connu à l'intérieur de la boucle? Simplement, je ne connais pas la valeur deBUFFER_SIZE
sans aller à l'intérieur de la boucle.OriginalL'auteur ataylor
Je sais que c'est un vieux et déjà répondu à la question. Mais c'est la 1ère ce qui apparaît pour 'groovy faire alors que" quand googlé.
Je crois que le général considérable -tandis que synonyme en Groovy, pourrait être:
Veuillez considérer l'exemple ci-dessus. À l'exception de quelques redondant crochets, elle est plutôt bien lisible de la syntaxe.
Et voici comment cela fonctionne:
while
condition entre parenthèses une fermeture est définie avec une accolade ouvertecontinue
après bien que la condition de clôture ronde crochet est uniquement parce qu'il y a à être "quelque chose", tout compilable déclaration. Par exemple, il pourrait être0
, sicontinue
semble correspondre beaucoup mieux.EDIT: Pas sûr que c'est une version plus récente de Groovy ou j'ai raté ça avant.
Au lieu de cela
continue
point-virgule qui feront aussi bien. Puis il va comme:OriginalL'auteur topr
utiliser ceci:
OriginalL'auteur Chrisdreams13