Programmation Java-Meilleur moyen d'enregistrer / lire des données pour une application [fermé]


Veuillez pardonner cette question si elle a déjà été répondue, mais je cherche en ligne depuis une heure pour essayer de la comprendre.

Je travaille à revenir à la programmation Java et j'essaie de comprendre la meilleure façon d'enregistrer/lire les données que je stockerais dans mon application. Pourrais-je tout mettre dans un fichier texte et tout lire au démarrage de l'application et tout enregistrer à la sortie? Je pensais que cela pourrait manger trop de mémoire si l'application était trop grands?

Author: sweaty, 2013-03-26

3 answers

, je dirais que si vous avez besoin de stocker quelques informations, vous pouvez utiliser un fichier de propriétés.

Si vous avez besoin de stocker une structure plus complexe que de simples propriétés, je suggère d'utiliser une base de données (HSQL, Oracle, Mysql, MSSQL, etc...). En fonction de vos besoins.

 2
Author: TheEwook, 2013-03-26 16:07:20

Cela dépend de la quantité de données que vous avez.

Lorsque vous souhaitez stocker une poignée de paires clé/valeur comme certaines préférences utilisateur, vous pouvez utiliser la classe Preferences, qui est implémentée à l'aide du registre sous Windows, des fichiers de configuration sous Linux et tout ce qui est le moyen préféré de stocker les préférences utilisateur sur d'autres plates-formes.

Lorsque vous avez des données réelles qui sont trop pour le registre mais pas assez pour justifier une base de données( quelque chose de l'ordre de quelques Mo), en utilisant un ou plusieurs fichiers plats peuvent être une solution. Lorsque les données sont complexes, il peut être judicieux d'utiliser un format standardisé comme XML au lieu de quelque chose de homebrewed. Java a des classes qui permettent une analyse et une sérialisation faciles de XML. Une solution alternative rapide et sale serait d'utiliserObjectStreams pour enregistrer et restaurer des objets entiers. Ceci est très facile à mettre en œuvre, mais pourrait ne pas être très efficace car il stocke beaucoup de méta-informations qui sont probablement inutiles.

Mais lorsque vous avez beaucoup de données (plus que vous n'êtes à l'aise pour lire et écrire complètement), il peut être judicieux d'utiliser une base de données. Une base de données vous permet d'accéder facilement à d'énormes quantités de données (de l'ordre de plusieurs Go) et vous offre gratuitement de nombreuses fonctionnalités qui seraient difficiles à mettre en œuvre vous-même (comme la recherche d'enregistrements à l'aide d'index). Les bases de données ne sont pas magiques. Ils utilisent également des fichiers pour stocker leurs données (fichiers avec une structure très intelligente, cependant). Vous pouvez répliquer toutes les fonctionnalités d'un base de données vous-même. Mais pourquoi réinventer la roue quand vous pouvez simplement utiliser une solution existante?

 4
Author: Philipp, 2013-03-26 16:24:24

Si la question est également de savoir comment entrer et sortir les données du fichier, je voulais juste jeter le mot-clé "sérialisation", au cas où vous ne le connaissez pas. Google, il y a des tonnes de tutoriels. En un mot, Java a intégré la prise en charge de l'écriture d'objets et de la lecture d'objets à partir de bytestreams binaires, que vous pouvez bien sûr écrire / lire à partir de fichiers. Vous n'aurez donc pas à implémenter le code pour stocker et lire vos différents membres. Identifiez les objets dans votre code qui contient l'état du programme et sérialise ceux-ci. Vous pouvez également sérialiser au format XML, ce qui rend les fichiers créés modifiables manuellement.

 0
Author: themik81, 2013-03-26 16:10:21