SHARE
TWEET

2020-05-28_JAVA_HW9_FileIO

gha890826 May 27th, 2020 1,248 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import java.util.*;
  2. import java.io.BufferedReader;
  3. import java.io.BufferedWriter;
  4. import java.io.FileInputStream;
  5. import java.io.FileNotFoundException;
  6. import java.io.FileWriter;
  7. import java.io.IOException;
  8. import java.io.InputStreamReader;
  9. import java.util.*;
  10.  
  11. public class Database
  12. {
  13.     private List<Item> items;
  14.    
  15.     public boolean read(String file_pos) throws IOException
  16.     {
  17.         List<Item> ans=null;
  18.         try {
  19.             InputStreamReader file = new InputStreamReader(new FileInputStream(file_pos));//檔案讀取路徑
  20.             BufferedReader reader = new BufferedReader(file);
  21.             String line = null;
  22.             Item newitem=null;
  23.             while((line=reader.readLine())!=null){//分行讀取
  24.                 String item[] = line.split(",");//分割
  25.                 switch(item[0])
  26.                 {
  27.                     case "CD":
  28.                         newitem=new CD(item[1], item[2], Integer.parseInt(item[3]), Integer.parseInt(item[4]), Integer.parseInt(item[5]));
  29.                         break;
  30.                     case "BoardGame":
  31.                         break;
  32.                     case "DVD":
  33.                         break;
  34.                     case "eBook":
  35.                         break;
  36.                     case "Game":
  37.                         break;
  38.                     case "Item":
  39.                         break;
  40.                     case "VideoGame":
  41.                         break;
  42.                 }
  43.                 /*String  data1= item[0].trim();
  44.                 String  data2= item[1].trim();
  45.                 String  data3= item[2].trim();*/
  46.                 items.add(newitem);
  47.             }
  48.             file.close();
  49.         } catch (FileNotFoundException e) {
  50.             // TODO Auto-generated catch block
  51.             e.printStackTrace();
  52.             return false;
  53.         }
  54.         return true;
  55.     }
  56.     /*
  57.     public boolean save(String file_pos,List<Item> data) throws IOException
  58.     {
  59.         try {
  60.             InputStreamReader file = new InputStreamReader(new FileInputStream(file_pos));//檔案讀取路徑
  61.             BufferedReader reader = new BufferedReader(file);
  62.             BufferedWriter bw = new BufferedWriter(new FileWriter(file_pos));//檔案輸出路徑
  63.             String line = null;
  64.             while((line=reader.readLine())!=null){//分行讀取
  65.                 String item[] = line.split(",");//分割
  66.                 switch(item[0])
  67.                 {
  68.                     case "CD":
  69.                         break;
  70.                     case "BoardGame":
  71.                         break;
  72.                     case "DVD":
  73.                         break;
  74.                     case "eBook":
  75.                         break;
  76.                     case "Game":
  77.                         break;
  78.                     case "Item":
  79.                         break;
  80.                     case "VideoGame":
  81.                         break;
  82.                 }
  83.                  while((line=reader.readLine())!=null){
  84.                         String item[] = line.split(",");
  85.             }
  86.             //bw.close();
  87.         } catch (FileNotFoundException e) {
  88.             // TODO Auto-generated catch block
  89.             e.printStackTrace();
  90.             return false;
  91.         }
  92.         return true;
  93.     }*/
  94.    
  95.     public Database()
  96.     {
  97.         items = new ArrayList<>();
  98.     }
  99.  
  100.     public void addItem(Item theItem)
  101.     {
  102.         items.add(theItem);
  103.     }
  104.  
  105.     public void list()
  106.     {
  107.         for(Item item : items)
  108.             item.print();
  109.     }
  110.    
  111.     public static void main(String args[]) throws IOException
  112.     {
  113.         String file_pos="./save.csv";
  114.         Database d1 = new Database();
  115.         d1.read(file_pos);
  116.         d1.addItem(new CD("newCD","artest",3,3,1000));
  117.         d1.addItem(new eBook("newebook","author",100));
  118.         d1.addItem(new DVD("newDVD","director",180,250));
  119.         d1.addItem(new VideoGame("Videogame", 1920, 1, "RStar", 18, null, true));
  120.         d1.addItem(new BoardGame("BoardGame", 320, 4, null, 8, null));
  121.         d1.list();
  122.         Collections.sort(d1.items);
  123.         System.out.println("\nafter sort...\n");
  124.         d1.list();
  125.     }
  126. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top