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