package cn.vinnie.csvfile;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
   public static void main(String arg[]) {
     //CSVファイルを読むのテスト
    String filename = "C:" + File.separator + "test.csv";
    Operation oper = new Operation();
    oper.Import(filename);
    System.out.println(oper.dog.getName());
    System.out.println(oper.dog.getAge());
    System.out.println(oper.dog.getColor());
    System.out.println(oper.dog.getHobby());

     //CSVファイルを書くのテスト
    String fname = "C:" + File.separator + "Coco.csv";
    Dog dog = new Dog();
    dog.setName( "Coco");
    dog.setAge( "3");
    dog.setColor( "black");
    dog.setHobby( "sleep");
    oper.Export(fname, dog);

  }
}

class Operation {
  Dog dog = new Dog();

   /**
    * ファイルを読むこと、名はdogの対象が得る
    *
    * @param filename
    *                         ファイルの名
    * @return なし
    */

   public void Import(String filename) {
    File exist = new File(filename);
     if (exist.exists() && exist.canRead()) {
       try {
        BufferedReader br = new BufferedReader( new InputStreamReader(
             new FileInputStream(filename)));
         if (br.ready()) {
          dog.setName(br.readLine());
          dog.setAge(br.readLine());
          dog.setColor(br.readLine());
          dog.setHobby(br.readLine());
        }
        br.close();
      } catch (IOException e) {
        e.printStackTrace();
      } finally {
        System.out.println( "^^^^^^^^^^End Reading^^^^^^^^^^");
      }
    } else {
      System.out.println( "該当ファイルが存在しない、あるいは読むことができません");
    }

  }

   /**
    * ファイルを書くこと
    *
    * @param filename
    *                         ファイルの名    dog Dog対象
    *
    * @return なし ファイルが出力する
    */

   public void Export(String filename, Dog dog) {
     try {
      BufferedWriter bw = new BufferedWriter( new FileWriter(filename));
      bw.write(dog.getName());
      bw.newLine();
      bw.write(dog.getAge());
      bw.newLine();
      bw.write(dog.getColor());
      bw.newLine();
      bw.write(dog.getHobby());
      bw.close();
    } catch (IOException e) {
      e.printStackTrace();
    } finally {
      System.out.println( "End Writeing");
    }
  }

}