Advertisement
Guest User

IO

a guest
Apr 24th, 2019
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.05 KB | None | 0 0
  1. private void createLib() {
  2.         File file = new File("books.txt");
  3.         FileWriter fileWriter = null;
  4.         try {
  5.             fileWriter = new FileWriter(file, false);
  6.             size = 5;
  7.             fileWriter.write(String.valueOf(size));
  8.             fileWriter.write('\n');
  9.         } catch (IOException ex) {
  10.             ex.printStackTrace();
  11.         }
  12.         String book = new String("1###J. R. R. Tolkien###The Fellowship of the Ring###423###1954###2000###11###01");
  13.         try {
  14.             fileWriter.write(book);
  15.             fileWriter.write('\n');
  16.         } catch (IOException ex) {
  17.             ex.printStackTrace();
  18.         }
  19.         book = new String("2##J. R. R. Tolkien###The Two Towers###352###1954###2000###11###19");
  20.         try {
  21.             fileWriter.write(book);
  22.             fileWriter.write('\n');
  23.         } catch (IOException ex) {
  24.             ex.printStackTrace();
  25.         }
  26.         book = new String("3###J. R. R. Tolkien###The Return of the King###416###1955###2000###12###26");
  27.         try {
  28.             fileWriter.write(book);
  29.             fileWriter.write('\n');
  30.         } catch (IOException ex) {
  31.             ex.printStackTrace();
  32.         }
  33.         book = new String("4###Ray Bradbury###Fahrenheit 451###158###1953###2000###10###19");
  34.         try {
  35.             fileWriter.write(book);
  36.             fileWriter.write('\n');
  37.             fileWriter.flush();
  38.         } catch (IOException ex) {
  39.             ex.printStackTrace();
  40.         }
  41.         book = new String("5###Agatha Christie###And Then There Were None###272###1939###2000###10###19");
  42.         try {
  43.             fileWriter.write(book);
  44.             fileWriter.write('\n');
  45.             fileWriter.flush();
  46.         } catch (IOException ex) {
  47.             ex.printStackTrace();
  48.         }
  49.  
  50.     }
  51.  
  52.     public void writeToFile(List<Book> books) {
  53.         try {
  54.             File file = new File("books.txt");
  55.             FileWriter fileWriter = new FileWriter(file, false);
  56.             fileWriter.write(String.valueOf(size));
  57.             fileWriter.write('\n');
  58.             for (Book book : books) {
  59.                 String bookLine = new String(book.getId() + "###" +
  60.                         book.getAuthor() + "###" +
  61.                         book.getTitle() + "###" +
  62.                         book.getPageNum() + "###" +
  63.                         book.getPublishingYear() + "###" +
  64.                         book.getAddedYear() + "###" +
  65.                         book.getAddedMonth() + "###" +
  66.                         book.getAddedDay());
  67.                 fileWriter.write(bookLine);
  68.                 fileWriter.write('\n');
  69.             }
  70.             fileWriter.flush();
  71.         } catch (IOException ex) {
  72.             ex.printStackTrace();
  73.         }
  74.     }
  75.  
  76.     public List<Book> readFromFile() {
  77.         List<Book> books = new ArrayList<>();
  78.         try {
  79.             File file = new File("books.txt");
  80.             FileReader fileReader = new FileReader(file);
  81.             BufferedReader bufferedReader = new BufferedReader(fileReader);
  82.             String bookLine = bufferedReader.readLine();
  83.             size = Integer.valueOf(bookLine);
  84.             System.out.println("Books in library: " + size);
  85.             bookLine = bufferedReader.readLine();
  86.             while (bookLine != null) {
  87.                 StringTokenizer stringTokenizer = new StringTokenizer(bookLine, "###");
  88.                 books.add(new Book(Integer.valueOf(stringTokenizer.nextToken()),
  89.                         stringTokenizer.nextToken(), stringTokenizer.nextToken(),
  90.                         Integer.valueOf(stringTokenizer.nextToken()),
  91.                         Integer.valueOf(stringTokenizer.nextToken()),
  92.                         Integer.valueOf(stringTokenizer.nextToken()),
  93.                         Integer.valueOf(stringTokenizer.nextToken()),
  94.                         Integer.valueOf(stringTokenizer.nextToken())));
  95.                 bookLine = bufferedReader.readLine();
  96.             }
  97.         } catch (IOException ex) {
  98.             ex.printStackTrace();
  99.         }
  100.         return books;
  101.     }
  102. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement