Advertisement
Guest User

Untitled

a guest
Mar 24th, 2019
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.66 KB | None | 0 0
  1. package ch.epfl.dias.store.row;
  2.  
  3. import java.io.IOException;
  4. import java.nio.file.Files;
  5. import java.nio.file.Path;
  6. import java.nio.file.Paths;
  7.  
  8. import ch.epfl.dias.store.DataType;
  9. import ch.epfl.dias.store.Store;
  10.  
  11. public class RowStore extends Store {
  12.  
  13.  
  14.     private  String filename;
  15.     private DataType[] schema;
  16.     private String delimiter;
  17.     private Object IOException;
  18.  
  19.     public RowStore(DataType[] schema, String filename, String delimiter) {
  20.         // TODO: Implement
  21.         this.delimiter = delimiter;
  22.         this.schema = schema;
  23.         this.filename = filename;
  24.     }
  25.  
  26.     @Override
  27.     public void load() throws IOException {
  28.  
  29.          byte[] source = Files.readAllBytes(Paths.get(this.filename));
  30.  
  31.          String[] rowsOfFile =  source.toString().split("\n");
  32.          Object[] tupleElement;
  33.  
  34.  
  35.          for(String row : rowsOfFile){
  36.  
  37.             for(String field : row.split(this.delimiter)){
  38.                 int j = 0;
  39.                 try{
  40.  
  41.                     switch(this.schema[j]){
  42.                         case DOUBLE:
  43.  
  44.                             tupleElement[j] = {Double.parseDouble(field)};
  45.                             j++;
  46.                             break;
  47.                         case INT:
  48.  
  49.                             tupleElement = new Object[] {tupleElement, Integer.parseInt(field)};
  50.                             j++;
  51.                             break;
  52.                         case STRING:
  53.                             //tupleElement = new Object[] {tupleElement, field};
  54.                             j++;
  55.                             break;
  56.                         case BOOLEAN:
  57.                             //tupleElement = new Object[] {tupleElement, Boolean.parseBoolean(field)};
  58.                             j++;
  59.  
  60.                     }
  61.                 } catch (Exception e){
  62.                     System.out.println(e.getMessage());
  63.                     throw new IOException();}
  64.             }// for field
  65.          } // for Row
  66.  
  67.  
  68.          System.out.println(tupleElement.toString());
  69.  
  70.     }
  71.  
  72.     @Override
  73.     public DBTuple getRow(int rownumber) {
  74.         // TODO: Implement
  75.         return null;
  76.     }
  77. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement