Advertisement
Guest User

Untitled

a guest
Dec 15th, 2017
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.78 KB | None | 0 0
  1. public class Serialisation {
  2.  
  3. /**
  4. * Objet fichier qui sera utilisé pour la sérialisation (CAD: C'est sur cet objet qu'on tentera de lire ou ecrire)
  5. */
  6. private File fichier;
  7.  
  8. /**
  9. * Instanciation d'un objet Serialisation
  10. * @param nFichier le nom du fichier concerné par la serialisation.
  11. */
  12. public Serialisation(String nfichier){
  13. this.fichier = new File(nfichier);
  14. }
  15.  
  16. /**
  17. * Modification du fichier cible/source.
  18. * @param nFichier le nom du nouveau fichier.
  19. */
  20. public void setFile(String nfichier){
  21. this.fichier = new File(nfichier);
  22. }
  23.  
  24. /**
  25. * Vérifie si le fichier existe.
  26. * @return true si le fichier existe, false sinon.
  27. */
  28. public boolean verifierFichier(){
  29. return fichier.exists();
  30. }
  31. /**
  32. * Cette méthode écrit dans le fichier.
  33. * @param o l'objet qu'on tente d'écrire dans le fichier cible.
  34. * @return true si l'écriture c'est faite correctement (else : false).
  35. * @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.
  36. */
  37. public boolean ecriture(Object o) throws FichierDejaPresentException{
  38. if(verifierFichier()){
  39. throw new FichierDejaPresentException(fichier);
  40. }
  41. try {
  42. ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream(fichier));
  43. out.writeObject(o);
  44. out.close();
  45. } catch (FileNotFoundException e) {
  46. return false;
  47. } catch (IOException e) {
  48. return false;
  49. }
  50. return true;
  51. }
  52.  
  53. /**
  54. * Cette méthode écrira toujours dans le fichier même si celui si existe déjà.
  55. * @param o l'objet qu'on écrit dans le fichier cible.
  56. * @return true si l'écriture c'est faite correctement (else : false).
  57. */
  58. public boolean ecritureToujours(Object o){
  59. try {
  60. ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream(fichier));
  61. out.writeObject(o);
  62. out.close();
  63. } catch (FileNotFoundException e){
  64. return false;
  65. } catch (IOException e) {
  66. return false;
  67. }
  68. return true;
  69. }
  70.  
  71.  
  72. /**
  73. * Cette méthode tente de lire dans le fichier cible.
  74. * @return l'objet lu si la lecture c'est faite correctement.
  75. * @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.
  76. */
  77. public Object lecture() {
  78. if(!verifierFichier()){
  79. try {
  80. throw new FichierPasPresentException(fichier);
  81. } catch (FichierPasPresentException e) {
  82. e.message();
  83. }
  84. }
  85. try {
  86. ObjectInputStream in = new ObjectInputStream(new FileInputStream(fichier));
  87. return in.readObject();
  88. } catch (IOException e) {
  89. return null;
  90. } catch (ClassNotFoundException e) {
  91. return null;
  92. }
  93. }
  94. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement