Cari lettori,
sto costruendo uno stupido programmino chiamato "Bookstore" che implementa un piccolo commercio di libri.
Ora mi trovo di fronte a dover far leggere e scrivere al mio programma il flusso di dati. Sono riuscito a costruire i FileWriter e il ConsoleWriter, che implementano l'interfaccia "BookStoreWriter".
Qualcuno sa spiegarmi, tramite codice, come fare con i rispettivi Reader?
Allego il codice delle 3 Classi sopra menzionate
codice:
-BookStoreWriter:
package io.writer;

import java.io.IOException;
import java.util.Vector;

import objects.BookStoreBook;
import objects.Transaction;


public interface BookStoreWriter {

	
	public void writeBooks(Vector<BookStoreBook> storebooks) throws IOException;

	public void writeTransactions(Vector<Transaction>transactions) throws IOException;

}

-BookStoreConsoleWriter
package io.writer;
import java.util.Vector;

import objects.Transaction;
import objects.BookStoreBook;

public class BookStoreConsoleWriter implements BookStoreWriter{




		public void writeBooks(Vector<BookStoreBook> storebooks) {
			System.out.println();
			System.out
					.println("In our bookstore there are the following books:");
			System.out
					.println("--------------------------------------------------");
			for (Integer i = 0; i < storebooks.size(); i++) {
				
			BookStoreBook currentBook = storebooks.get(i);
				System.out.println(currentBook.getIsbn() + " costs "
						+ currentBook.getCostPrice() + ", copies "
						+ currentBook.getUnits());
			}
		}

	
		public void writeTransactions(Vector<Transaction> transactions) {
			System.out.println();
			System.out
					.println("In our Bookstore there were the following transactions:");
			System.out
					.println("--------------------------------------------------------");
			for (Integer i = 0; i < transactions.size(); i++) {
				
				Transaction currentTransaction = transactions.get(i); 
				System.out.println(currentTransaction.getIsbn() + " "
						+ currentTransaction.getIsSold() + " and has a saldo of "
						+ currentTransaction.getSaldo());
			}

		}

	}

-BookStoreFileWriter
package io.writer;

import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Vector;

import objects.BookStoreBook;
import objects.Transaction;



 
public class BookStoreFileWriter implements BookStoreWriter {

	private File outputDirectory;

	
	public BookStoreFileWriter(String outputDirectoryString) throws IOException {
		this.outputDirectory = new File(outputDirectoryString);
		this.outputDirectory.mkdir();
		System.out.println(this.outputDirectory.isDirectory());
	}


	public void writeBooks(Vector<BookStoreBook> storebooks) throws IOException {
		File bookFile = new File(outputDirectory.getAbsolutePath().concat(
				"\\storebooks.txt"));
		bookFile.createNewFile();
		System.out.println(bookFile.getAbsolutePath());
		PrintWriter out = new PrintWriter(bookFile);
		for (Integer i = 0; i < storebooks.size(); i++) {
		
			BookStoreBook currentBook = storebooks.get(i); 
			out.println(currentBook.getIsbn());
			out.println(currentBook.getCostPrice());
			out.println(currentBook.getUnits());
			
			out.println();
		}
		out.flush();
	}

	
	public void writeTransactions(Vector<Transaction> transactions) throws IOException {
		File userFile = new File(outputDirectory.getAbsolutePath().concat(
				"\\transaction.txt"));
		userFile.createNewFile();
		System.out.println(userFile.getAbsolutePath());
		PrintWriter out = new PrintWriter(userFile);
		for (Integer i = 0; i < transactions.size(); i++) {
			
		Transaction currentTransaction = transactions.get(i); 
			out.println(currentTransaction.getIsbn());
			out.println(currentTransaction.getIsSold());
			out.println(currentTransaction.getSaldo());
			out.println();
		}
		out.flush();
	}

}
Grazie mille x l'aiuto
Andreabros