list() 返回 String[],固定長度優於集合。final 限制與可讀性權衡。renameTo)。read()/write() 處理單字節/字節數組。ByteArrayInputStream/OutputStream:內存緩衝區FileInputStream/OutputStream:文件PipedInputStream/OutputStream:線程間管道SequenceInputStream:合併多流DataInputStream/DataOutputStream:基本類型/String 可攜序列化(UTF-8 編碼 String)BufferedInputStream/OutputStream:緩衝,大幅提升性能LineNumberInputStream:行號追蹤(編譯器專用)PushbackInputStream:一字節回退(掃描器專用)PrintStream:格式化輸出,捕獲所有 IOException 需手動 checkError(),國際化/換行處理弱,已被 PrintWriter 取代。char 為 16 位 Unicode)。InputStreamReader/OutputStreamWriter 橋接兩體系。FileReader/Writer、CharArrayReader/Writer、PipedReader/Writer。BufferedReader/Writer:緩衝 + readLine()LineNumberReader:替代過時的 LineNumberInputStreamPushbackReader、StreamTokenizer、PrintWriter(自動 flush 選項、構造器兼容 OutputStream)。鐵律:棄用 DataInputStream.readLine(),必用 BufferedReader.readLine()。
DataInput/DataOutput,但不繼承 InputStream/OutputStream。seek() 定位、getFilePointer()、length()。"r" 唯讀、"rw" 讀寫(無僅寫)。new BufferedReader(new FileReader(file))StringReader + read() 轉 charDataInputStream + ByteArrayInputStream,用 available() 或異常判斷結束new BufferedWriter(new FileWriter(file)),必調用 close() flush 緩衝DataOutputStream 寫、DataInputStream 讀,跨平台無憂,String 用 writeUTF/readUTFRandomAccessFile 或 NIO MappedByteBufferPipedInput/OutputStream、PipedReader/Writer,線程間通信專用(需多線程基礎)。System.in/out/err。in 需包裝 InputStreamReader → BufferedReader;out 可轉 PrintWriter 雙參構造器啟用自動 flush。System.setIn/Out/Err,處理字節流而非字符流。封裝 read/write 為靜態方法,支持整文件字符串讀寫、按行存入 ArrayList 處理,極大簡化日常文本操作。