Bibliothèque Java pour de tableau d'octets manipulations?
Est-il gratuit disponibles de la bibliothèque qui contient des méthodes communes pour la manipulation d'un tableau d'octets?
Il devrait être en mesure d'effectuer les opérations suivantes au moins ob tableaux d'octets, mais d'autres types de pile serait gentil, trop:
- De recherche pour la sous-matrice de
- De recherche et de remplacement
- Insérer des éléments dans une certaine position
- Supprimer des sous-tableau à une certaine position
Je sais que toutes ces fonctions ne sont pas de haute magie, mais de les mettre en œuvre complètement et fou & erreur de preuve, y compris le correspondant de tests unitaires prend un certain temps.
Donc je suis à la recherche d'un (non-GPL) de la bibliothèque, qui regroupe les fonctions.
Quelqu'un sait une telle bibliothèque?
Souvent, ces opérations sont effectuées sur
Nous parlons réel des données binaires.
String
ou StringBuilder
mais ces magasin char
ratehr que byte
. Est-ce binaire ou texte de données?Nous parlons réel des données binaires.
OriginalL'auteur Robert | 2012-05-24
Vous devez vous connecter pour publier un commentaire.
Si vous travaillez avec des tableaux de types primitifs, la Goyave bibliothèque peut vous aider. Voir plus dans PrimitivesExplained - goyave-bibliothèques - Goyave de primitives de services publics, a expliqué. - Goyave: Google Bibliothèques de Base de Java 1.6+ - Google Project Hosting
La classe intéressante est
com.google.commun.primitives.Octets
La source est disponible, de sorte que vous pouvez facilement prendre tout ce que vous voulez. Il est distribué sous la Licence Apache, Version 2.0
Notez que la Goyave méthode pour rechercher un tableau d'octets dans un autre tableau d'octets n'est pas optimisée. Je suppose que c'est écrit dans l'hypothèse que vous ne travaillez pas avec des grands tableaux d'octets.
OriginalL'auteur Paul Vargas
Je pense que votre premier trois problèmes peuvent être résolus par Java.util.Les tableaux classe, vous n'avez pas besoin de pour la 3e partie de la bibliothèque.
Pour le dernier problème que je peux vous suggérer quelques la 3e partie util paquets que je sais.
Google Goyave, Apache commons API peut aider.
OriginalL'auteur Chandra Sekhar
Je suppose que vous pouvez faire ce que vous avez besoin en tournant votre tableau dans un
Collection
. Si vous ne souhaitez pas utiliserCollections
, et vous traitez uniquement avecbyte[]
, vous pourriez faire quelque chose comme ceci:De sortie:
Si vous avez affaire aussi avec d'autres type de tableaux, puis le
searchFor
ne fonctionne pas, mais vous pouvez facilement généraliser 🙂J'ai ajouté un code simple montrant comment le faire sans
Collections
Une raison quelconque vous éviter d'utiliser le Système.arraycopy(..)? En outre, votre version de searchAndReplace ne prend pas en charge différentes tailles de recherche et de remplacement de tableau (qui est le plus intéressant cas d'utilisation de celui-ci...).
Je n'ai pas utilisé
System.arraycopy(..)
, mais c'est une bonne idée 🙂 je pense qu'il n'est pas difficile d'étendre ma version desearchAndReplace
à l'appui des tableaux de taille différente. Je ne l'ai pas fait, car je pensais qu'il n'était pas neceessaryOriginalL'auteur MarcoS