Comment sauvegarder et de charger un Tableau en Java
Donc je suis entrain de créer un programme qui assurera le suivi des émissions de TÉLÉVISION et des Films que je regarde. J'ai 2 classes (Cinéma et TV) et j'ai un Tableau qui détient tout le monde. Comment pourrais-je aller sur l'enregistrement de ce tableau, de sorte que chaque fois que j'utilise le programme, il me permet de modifier le même liste, parce que chaque fois que je regarde un épisode je veux mettre à jour mon tableau avec les nouvelles informations. Donc, fondamentalement, quelle procédure dois-je utiliser afin non seulement d'économiser de l'arrya mais de charge de la matrice à chaque fois que je lance le programme?
- charger le tableau à partir d'une base de données/disques magasin ou ailleurs?
- J'ai envie de les stocker sur un disque local. Mais je n'ai jamais utilisé une base de données, donc, il y a un moyen de le recharger à un tableau? Ou devrai-je utiliser un certain type de base de données?
- Alors que l'objet de la sérialisation de travail, je voudrais, si vous pouvez l'éviter. Il ne gère pas les changements pour les objets sous-jacents (dites que vous voulez ajouter un champ de contrôle d'accès à des objets, vous perdez toutes les données stockées). J'avais err sur le côté de la prudence et de l'utilisation d'un format XML ou même un simple format de fichier si vous n'aimez pas XML.
Vous devez vous connecter pour publier un commentaire.
Afin d'enregistrer un array pour plus de référence que vous avez besoin pour faire la classe sérialisable (par exemple, par la mise en œuvre de
Serializable
). Ce que cela signifie, c'est qu'un objet peut être convertie en une séquence d'octets qui peut être enregistrée dans un fichier ou envoyées sur le réseau, qui peut ensuite être utilisé pour recréer l'objet en mémoireAlors vous pouvez le faire pour enregistrer les données dans un fichier:
Vous pouvez le lire comme ceci:
Serializable
c'est un peu difficile à comprendre, sauf si vous avez déjà comprendre le concept.Alors que vous pourriez sérialiser un objet et de les écrire sur le disque... je suppose qu'il serait plus facile pour vous de simplement la sortie de votre tableau dans un fichier et de le lire de nouveau. Vous pouvez écrire chaque élément de la matrice vers le fichier dans une boucle assez facilement, et de le lire en tout aussi facilement. Et comme les autres ont dit, il est utile de votre temps pour regarder dans une liste de tableaux ou de structure similaire! Exemple:
Pour écrire dans un fichier:
À lire à partir d'un fichier:
Tout d'abord, vous devriez éviter de tableaux comme de la peste... utiliser
Collections
à la place, qui, en dehors de toute autre chose étendre dans la taille automatiquement en tant que de besoin (vous en aurez besoin).Indépendamment de savoir si vous utilisez le tableau ou une
List
vous pouvez sérialiser l'objet de disque par écrit l'objet d'uneObjectOutputStream
l'enveloppant d'unFileOutputStream
.Noter que les objets dans le tableau/Liste doit mettre en œuvre
Serializable
, comme tous vos champs de la classe.À lire le tableau/Liste de retour dans la lecture d'un
ObjectInputStream
l'enveloppant d'unFileInputStream
.Vous pouvez Google pour les innombrables exemples d'un tel code.