Import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.RandomAccessFile;
import java.io.Reader;
import java.util.Vector;
public class TextImplementor implements DataImplementor {
BufferedReader reader;
public TextImplementor(String fileName) {
try {
reader = new BufferedReader(new InputStreamReader(new FileInputStream(fileName)));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
public Product[] getData() {
String line;
Vector v = new Vector();
try {
while (reader.ready()){
line = reader.readLine();
if (!line.equals("")){
Product p = getProduct(line);
v.add(p);
}
}
Product products[] = new Product[v.size()];
for (int i = 0; i < v.size(); i++) {
products[i] = (Product)v.get(i);
}
reader.close();
return products;
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
private Product getProduct(String line) {
Product p = new Product();
String id = line.substring(0, line.indexOf(';'));
line = line.replaceFirst(id + ';', "");
String designation = line.substring(0, line.indexOf(';'));
line = line.replaceFirst(designation + ';', "");
String price = line.substring(0, line.indexOf(';'));
line = line.replaceFirst(price + ';', "");
String quantity = line.substring(0, line.length());
p.setId(id);
p.setDesignation(designation);
p.setPrice(price);
p.setQuantity(quantity);
return p;
}
}
public class Product {
String id;
String designation;
String price;
String quantity;
public Product() {
}
public Product(String id, String designation, String price, String quantity) {
super();
this.id = id;
this.designation = designation;
this.price = price;
this.quantity = quantity;
}
public String getDesignation() {
return designation;
}
public void setDesignation(String designation) {
this.designation = designation;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getPrice() {
return price;
}
public void setPrice(String price) {
this.price = price;
}
public String getQuantity() {
return quantity;
}
public void setQuantity(String quantity) {
this.quantity = quantity;
}
public String toString(){
StringBuffer s = new StringBuffer("----------------------------------------------\n");
s.append(id + '\n');
s.append(designation + '\n');
s.append(price + '\n');
s.append(quantity + '\n');
s.append("----------------------------------------------");
return s.toString();
}
}