Feb 22, 2018

[SCJP 6.0] ch10 輸入輸出 筆記

RAM <= 輸入:開檔,打字
RAM => 輸出:存檔,顯示螢幕



java.io.
  Console:
    Console c = System.console();
    %...格式字串
    String: readLine()
    char[]: 密碼
  File: 檔案 or 目錄 (基本資訊)
    File f = new File("路徑");
    真正建立檔案/目錄:
      f.createNewFile();
      f.mkdirs();

讀取檔案"內容": (close())
  byte:
    InputStream => FileInputStream(File).read();
      讀取1byte(int),用(char)轉型 read檔尾-1
    OutputStream => FileOutputStream(File).write(byte[]);
      byte[] => String.getBytes()
    InputStream => ObjectInputStream(InputStream).readObject();
      檔尾EOFException
    OutputStream => ObjectOutputStream(OutputStream).writeObject(Object);
      Object => Serializable
      不想序列化的屬性:transient (直接套用預設值)

  字元:
    Reader => InputStreamReader => FileReader(File).read();
      read檔尾-1
    Writer => OutputStreamWriter => FileWriter(File).write(String);
    Reader => BufferedReader(Reader).readLine();
      null: 讀完
    Writer => BufferedWriter(Writer).write(String);
                                                       .flush(); 強制寫檔,刷新緩衝區

new BufferedReader( new FileReader( new File(路徑) ) )
new ObjectOutputStream( new FileOutputStream( new File(路徑) ) )
也有 BufferedInputStream(InputStream).read()
new PrintWriter(BufferedWriter).printf(String format, Object... args)

No comments:

Post a Comment