Advertisement
Guest User

Untitled

a guest
Jun 19th, 2018
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.34 KB | None | 0 0
  1. package classes;
  2.  
  3. import interfaces.Playlist;
  4. import interfaces.Song;
  5.  
  6. import java.io.*;
  7.  
  8. public class BinaryStrategy implements interfaces.SerializableStrategy {
  9. public static final long serialVersionUID = 4L;
  10.  
  11. /*
  12. Vars
  13. */
  14. private FileOutputStream fos = null;
  15. private ObjectOutputStream oos = null;
  16. private FileInputStream fis = null;
  17. private ObjectInputStream ois = null;
  18. private classes.Playlist playlistReader = null;
  19. private classes.Song songReader = null;
  20.  
  21. /*
  22. Methods
  23. */
  24. @Override
  25. public void openWritableLibrary() throws IOException {
  26. fos = new FileOutputStream("lib.ser");
  27. oos = new ObjectOutputStream(fos);
  28. }
  29.  
  30. @Override
  31. public void openReadableLibrary() throws IOException {
  32. fis = new FileInputStream("lib.ser");
  33. ois = new ObjectInputStream(fis);
  34. }
  35.  
  36. @Override
  37. public void openWritablePlaylist() throws IOException {
  38. fos = new FileOutputStream("playlist.ser");
  39. oos = new ObjectOutputStream(fos);
  40. }
  41.  
  42. @Override
  43. public void openReadablePlaylist() throws IOException {
  44. fis = new FileInputStream("playlist.ser");
  45. ois = new ObjectInputStream(fis);
  46. }
  47.  
  48. @Override
  49. public void writeSong(Song s) throws IOException {
  50. fos = new FileOutputStream("song.ser");
  51. oos = new ObjectOutputStream(fos);
  52. oos.writeObject(s);
  53. oos.flush();
  54.  
  55.  
  56. }
  57.  
  58. @Override
  59. public Song readSong() throws IOException, ClassNotFoundException, IDOverflowException {
  60. fis = new FileInputStream("song.ser");
  61. ois = new ObjectInputStream(fis);
  62. songReader = new classes.Song();
  63. songReader = (classes.Song)ois.readObject();
  64.  
  65. return songReader;
  66. }
  67.  
  68. @Override
  69. public void writeLibrary(Playlist p) throws IOException {
  70. oos.writeObject(p);
  71. oos.flush();
  72. }
  73.  
  74. @Override
  75. public Playlist readLibrary() throws IOException, ClassNotFoundException {
  76. playlistReader = new classes.Playlist();
  77. playlistReader = (classes.Playlist) ois.readObject();
  78. return playlistReader;
  79. }
  80.  
  81. @Override
  82. public void writePlaylist(Playlist p) throws IOException {
  83. oos.writeObject(p);
  84. oos.flush();
  85. }
  86.  
  87. @Override
  88. public Playlist readPlaylist() throws IOException, ClassNotFoundException {
  89. playlistReader = (classes.Playlist) ois.readObject();
  90. return playlistReader;
  91. }
  92.  
  93. @Override
  94. public void closeWritableLibrary() {
  95. try {
  96. oos.close();
  97. fos.close();
  98. } catch (IOException e) {
  99. e.printStackTrace();
  100. }
  101. }
  102.  
  103. @Override
  104. public void closeReadableLibrary() {
  105. try {
  106. ois.close();
  107. fis.close();
  108. } catch (IOException e) {
  109. e.printStackTrace();
  110. }
  111. }
  112.  
  113. @Override
  114. public void closeWritablePlaylist() {
  115. try {
  116. oos.close();
  117. fos.close();
  118. } catch (IOException e) {
  119. e.printStackTrace();
  120. }
  121. }
  122.  
  123. @Override
  124. public void closeReadablePlaylist() {
  125. try {
  126. ois.close();
  127. fis.close();
  128. } catch (IOException e) {
  129. e.printStackTrace();
  130. }
  131. }
  132. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement