Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Serialisation {
- /**
- * Objet fichier qui sera utilisé pour la sérialisation (CAD: C'est sur cet objet qu'on tentera de lire ou ecrire)
- */
- private File fichier;
- /**
- * Instanciation d'un objet Serialisation
- * @param nFichier le nom du fichier concerné par la serialisation.
- */
- public Serialisation(String nfichier){
- this.fichier = new File(nfichier);
- }
- /**
- * Modification du fichier cible/source.
- * @param nFichier le nom du nouveau fichier.
- */
- public void setFile(String nfichier){
- this.fichier = new File(nfichier);
- }
- /**
- * Vérifie si le fichier existe.
- * @return true si le fichier existe, false sinon.
- */
- public boolean verifierFichier(){
- return fichier.exists();
- }
- /**
- * Cette méthode écrit dans le fichier.
- * @param o l'objet qu'on tente d'écrire dans le fichier cible.
- * @return true si l'écriture c'est faite correctement (else : false).
- * @throws FichierDejaPresentException CAD que le fichier dans lequel on désire écrire existe déjà. Ca nous renvoit a la classe d'exception du même nom, à disposition dans l'API.
- */
- public boolean ecriture(Object o) throws FichierDejaPresentException{
- if(verifierFichier()){
- throw new FichierDejaPresentException(fichier);
- }
- try {
- ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream(fichier));
- out.writeObject(o);
- out.close();
- } catch (FileNotFoundException e) {
- return false;
- } catch (IOException e) {
- return false;
- }
- return true;
- }
- /**
- * Cette méthode écrira toujours dans le fichier même si celui si existe déjà.
- * @param o l'objet qu'on écrit dans le fichier cible.
- * @return true si l'écriture c'est faite correctement (else : false).
- */
- public boolean ecritureToujours(Object o){
- try {
- ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream(fichier));
- out.writeObject(o);
- out.close();
- } catch (FileNotFoundException e){
- return false;
- } catch (IOException e) {
- return false;
- }
- return true;
- }
- /**
- * Cette méthode tente de lire dans le fichier cible.
- * @return l'objet lu si la lecture c'est faite correctement.
- * @throws FichierPasPresent CAD que le fichier dans lequel on désire lire existe déjà. Ca nous renvoit a la classe d'exception du même nom, à disposition dans l'API.
- */
- public Object lecture() {
- if(!verifierFichier()){
- try {
- throw new FichierPasPresentException(fichier);
- } catch (FichierPasPresentException e) {
- e.message();
- }
- }
- try {
- ObjectInputStream in = new ObjectInputStream(new FileInputStream(fichier));
- return in.readObject();
- } catch (IOException e) {
- return null;
- } catch (ClassNotFoundException e) {
- return null;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement