Enviar pesquisa
Carregar
輸入輸出
•
1 gostou
•
580 visualizações
Justin Lin
Seguir
瞭解串流與輸入輸出的關係 認識InputStream、OutputStream繼承架構 認識Reader、Writer繼承架構 使用輸入輸出裝飾器類別
Leia menos
Leia mais
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 48
Baixar agora
Baixar para ler offline
Recomendados
認識Thread與Runnable 使用synchronized 使用wait()、notify()、notifyAll() 運用高階並行API
執行緒與並行API
執行緒與並行API
Justin Lin
認識Thread與Runnable 使用synchronized 使用wait()、notify()、notifyAll() 運用高階並行API
Java SE 8 技術手冊第 11 章 - 執行緒與並行API
Java SE 8 技術手冊第 11 章 - 執行緒與並行API
Justin Lin
《Python 3.5 技術手冊》第 13 章投影片
並行與平行
並行與平行
Justin Lin
《Python 3.5 技術手冊》第 10 章投影片
資料永續與交換
資料永續與交換
Justin Lin
認識NIO 使用Channel與Buffer 使用NIO2檔案系統
Java SE 8 技術手冊第 14 章 - NIO 與 NIO2
Java SE 8 技術手冊第 14 章 - NIO 與 NIO2
Justin Lin
Java SE 7 技術手冊
Java SE 7 技術手冊投影片第 11 章 - 執行緒與並行API
Java SE 7 技術手冊投影片第 11 章 - 執行緒與並行API
Justin Lin
Java SE 7 技術手冊
Java SE 7 技術手冊投影片第 10 章 - 輸入輸出
Java SE 7 技術手冊投影片第 10 章 - 輸入輸出
Justin Lin
進階自訂泛型 進階自訂列舉 使用標準標註 自訂與讀取標註
Java SE 8 技術手冊第 18 章 - 自訂泛型、列舉與標註
Java SE 8 技術手冊第 18 章 - 自訂泛型、列舉與標註
Justin Lin
Recomendados
認識Thread與Runnable 使用synchronized 使用wait()、notify()、notifyAll() 運用高階並行API
執行緒與並行API
執行緒與並行API
Justin Lin
認識Thread與Runnable 使用synchronized 使用wait()、notify()、notifyAll() 運用高階並行API
Java SE 8 技術手冊第 11 章 - 執行緒與並行API
Java SE 8 技術手冊第 11 章 - 執行緒與並行API
Justin Lin
《Python 3.5 技術手冊》第 13 章投影片
並行與平行
並行與平行
Justin Lin
《Python 3.5 技術手冊》第 10 章投影片
資料永續與交換
資料永續與交換
Justin Lin
認識NIO 使用Channel與Buffer 使用NIO2檔案系統
Java SE 8 技術手冊第 14 章 - NIO 與 NIO2
Java SE 8 技術手冊第 14 章 - NIO 與 NIO2
Justin Lin
Java SE 7 技術手冊
Java SE 7 技術手冊投影片第 11 章 - 執行緒與並行API
Java SE 7 技術手冊投影片第 11 章 - 執行緒與並行API
Justin Lin
Java SE 7 技術手冊
Java SE 7 技術手冊投影片第 10 章 - 輸入輸出
Java SE 7 技術手冊投影片第 10 章 - 輸入輸出
Justin Lin
進階自訂泛型 進階自訂列舉 使用標準標註 自訂與讀取標註
Java SE 8 技術手冊第 18 章 - 自訂泛型、列舉與標註
Java SE 8 技術手冊第 18 章 - 自訂泛型、列舉與標註
Justin Lin
Java SE 7 技術手冊
Java SE 7 技術手冊投影片第 16 章 - 自訂泛型、列舉與標註
Java SE 7 技術手冊投影片第 16 章 - 自訂泛型、列舉與標註
Justin Lin
瞭解封裝觀念與實現 定義類別、建構式與方法 使用方法重載與不定長度引數 瞭解static成員
Java SE 8 技術手冊第 5 章 - 物件封裝
Java SE 8 技術手冊第 5 章 - 物件封裝
Justin Lin
這個投影片是搭配《Java Tutorial》課程,你可以在 CodeData 上看到所有內容,也可以直接在 Google Play 或 Pubu 上搜尋 "Java Tutorial" 以購得電子書。
Java Tutorial:Learn Java in 06:00:00
Java Tutorial:Learn Java in 06:00:00
Justin Lin
Java SE 7 技術手冊
Java SE 7 技術手冊投影片第 15 章 - 反射器與類別載入器
Java SE 7 技術手冊投影片第 15 章 - 反射器與類別載入器
Justin Lin
瞭解與設定PATH 瞭解與指定CLASSPATH 瞭解與指定SOURCEPATH 使用package與import管理類別 初步認識JDK與IDE的對應
Java SE 8 技術手冊第 2 章 - 從JDK到IDE
Java SE 8 技術手冊第 2 章 - 從JDK到IDE
Justin Lin
瞭解串流與輸入輸出的關係 認識InputStream、OutputStream繼承架構 認識Reader、Writer繼承架構 使用輸入輸出裝飾器類別
Java SE 8 技術手冊第 10 章 - 輸入輸出
Java SE 8 技術手冊第 10 章 - 輸入輸出
Justin Lin
Java SE 7 技術手冊
Java SE 7 技術手冊投影片第 04 章 - 認識物件
Java SE 7 技術手冊投影片第 04 章 - 認識物件
Justin Lin
區分基本型態與類別型態 瞭解物件與參考的關係 從包裹器認識物件 以物件觀點看待陣列 認識字串的特性
Java SE 8 技術手冊第 4 章 - 認識物件
Java SE 8 技術手冊第 4 章 - 認識物件
Justin Lin
《Python 3.5 技術手冊》第 5 章投影片
從模組到類別
從模組到類別
Justin Lin
《Python 3.5 技術手冊》第 4 章投影片
流程語法與函式
流程語法與函式
Justin Lin
Java SE 7 技術手冊
Java SE 7 技術手冊投影片第 12 章 - 通用API
Java SE 7 技術手冊投影片第 12 章 - 通用API
Justin Lin
探索物件特性 判斷物件型態 認識Reflect API 結合Proxy與Reflect API
9. meta-programming
9. meta-programming
Justin Lin
Java Developer Day Taipei 2014
如何用JDK8實作一個小型的關聯式資料庫系統
如何用JDK8實作一個小型的關聯式資料庫系統
なおき きしだ
認識Lambda語法 運用方法參考 瞭解介面預設方法 善用Functional與Stream API Lambda與平行化
Java SE 8 技術手冊第 12 章 - Lambda
Java SE 8 技術手冊第 12 章 - Lambda
Justin Lin
認識throw使用時機 使用try-catch處理錯誤 處理Promise錯誤 結合await、await與try-catch
7. 錯誤處理
7. 錯誤處理
Justin Lin
Brief introduction of Nashorn on JDK 8. Delivered at ADC 2013 (http://adc.alibabatech.org/), on July 14, 2013. Full version of slides coming soon.
Nashorn on JDK 8 (ADC2013)
Nashorn on JDK 8 (ADC2013)
Kris Mok
認識Thread與Runnable 使用synchronized 使用wait()、notify()、notifyAll() 運用高階並行API
CH11:執行緒與並行API
CH11:執行緒與並行API
Justin Lin
簡介 Java-based 的全文搜尋引擎 Lucene 的概念及基本實作
Java 的開放原碼全文搜尋技術 - Lucene
Java 的開放原碼全文搜尋技術 - Lucene
建興 王
使用 try、except 處理例外 認識例外繼承架構 認識 raise 使用時機 運用 finally 清除資源 使用 with as 管理資源
例外處理
例外處理
Justin Lin
全文搜尋引擎的進階實作與應用
全文搜尋引擎的進階實作與應用
建興 王
[圣思园][Java SE]Io 3
[圣思园][Java SE]Io 3
ArBing Xie
瞭解串流與輸入輸出 認識InputStream、OutputStream繼承架構 認識Reader、Writer繼承架構 使用輸入輸出裝飾器
CH10:輸入輸出
CH10:輸入輸出
Justin Lin
Mais conteúdo relacionado
Mais procurados
Java SE 7 技術手冊
Java SE 7 技術手冊投影片第 16 章 - 自訂泛型、列舉與標註
Java SE 7 技術手冊投影片第 16 章 - 自訂泛型、列舉與標註
Justin Lin
瞭解封裝觀念與實現 定義類別、建構式與方法 使用方法重載與不定長度引數 瞭解static成員
Java SE 8 技術手冊第 5 章 - 物件封裝
Java SE 8 技術手冊第 5 章 - 物件封裝
Justin Lin
這個投影片是搭配《Java Tutorial》課程,你可以在 CodeData 上看到所有內容,也可以直接在 Google Play 或 Pubu 上搜尋 "Java Tutorial" 以購得電子書。
Java Tutorial:Learn Java in 06:00:00
Java Tutorial:Learn Java in 06:00:00
Justin Lin
Java SE 7 技術手冊
Java SE 7 技術手冊投影片第 15 章 - 反射器與類別載入器
Java SE 7 技術手冊投影片第 15 章 - 反射器與類別載入器
Justin Lin
瞭解與設定PATH 瞭解與指定CLASSPATH 瞭解與指定SOURCEPATH 使用package與import管理類別 初步認識JDK與IDE的對應
Java SE 8 技術手冊第 2 章 - 從JDK到IDE
Java SE 8 技術手冊第 2 章 - 從JDK到IDE
Justin Lin
瞭解串流與輸入輸出的關係 認識InputStream、OutputStream繼承架構 認識Reader、Writer繼承架構 使用輸入輸出裝飾器類別
Java SE 8 技術手冊第 10 章 - 輸入輸出
Java SE 8 技術手冊第 10 章 - 輸入輸出
Justin Lin
Java SE 7 技術手冊
Java SE 7 技術手冊投影片第 04 章 - 認識物件
Java SE 7 技術手冊投影片第 04 章 - 認識物件
Justin Lin
區分基本型態與類別型態 瞭解物件與參考的關係 從包裹器認識物件 以物件觀點看待陣列 認識字串的特性
Java SE 8 技術手冊第 4 章 - 認識物件
Java SE 8 技術手冊第 4 章 - 認識物件
Justin Lin
《Python 3.5 技術手冊》第 5 章投影片
從模組到類別
從模組到類別
Justin Lin
《Python 3.5 技術手冊》第 4 章投影片
流程語法與函式
流程語法與函式
Justin Lin
Java SE 7 技術手冊
Java SE 7 技術手冊投影片第 12 章 - 通用API
Java SE 7 技術手冊投影片第 12 章 - 通用API
Justin Lin
探索物件特性 判斷物件型態 認識Reflect API 結合Proxy與Reflect API
9. meta-programming
9. meta-programming
Justin Lin
Java Developer Day Taipei 2014
如何用JDK8實作一個小型的關聯式資料庫系統
如何用JDK8實作一個小型的關聯式資料庫系統
なおき きしだ
認識Lambda語法 運用方法參考 瞭解介面預設方法 善用Functional與Stream API Lambda與平行化
Java SE 8 技術手冊第 12 章 - Lambda
Java SE 8 技術手冊第 12 章 - Lambda
Justin Lin
認識throw使用時機 使用try-catch處理錯誤 處理Promise錯誤 結合await、await與try-catch
7. 錯誤處理
7. 錯誤處理
Justin Lin
Brief introduction of Nashorn on JDK 8. Delivered at ADC 2013 (http://adc.alibabatech.org/), on July 14, 2013. Full version of slides coming soon.
Nashorn on JDK 8 (ADC2013)
Nashorn on JDK 8 (ADC2013)
Kris Mok
認識Thread與Runnable 使用synchronized 使用wait()、notify()、notifyAll() 運用高階並行API
CH11:執行緒與並行API
CH11:執行緒與並行API
Justin Lin
簡介 Java-based 的全文搜尋引擎 Lucene 的概念及基本實作
Java 的開放原碼全文搜尋技術 - Lucene
Java 的開放原碼全文搜尋技術 - Lucene
建興 王
使用 try、except 處理例外 認識例外繼承架構 認識 raise 使用時機 運用 finally 清除資源 使用 with as 管理資源
例外處理
例外處理
Justin Lin
全文搜尋引擎的進階實作與應用
全文搜尋引擎的進階實作與應用
建興 王
Mais procurados
(20)
Java SE 7 技術手冊投影片第 16 章 - 自訂泛型、列舉與標註
Java SE 7 技術手冊投影片第 16 章 - 自訂泛型、列舉與標註
Java SE 8 技術手冊第 5 章 - 物件封裝
Java SE 8 技術手冊第 5 章 - 物件封裝
Java Tutorial:Learn Java in 06:00:00
Java Tutorial:Learn Java in 06:00:00
Java SE 7 技術手冊投影片第 15 章 - 反射器與類別載入器
Java SE 7 技術手冊投影片第 15 章 - 反射器與類別載入器
Java SE 8 技術手冊第 2 章 - 從JDK到IDE
Java SE 8 技術手冊第 2 章 - 從JDK到IDE
Java SE 8 技術手冊第 10 章 - 輸入輸出
Java SE 8 技術手冊第 10 章 - 輸入輸出
Java SE 7 技術手冊投影片第 04 章 - 認識物件
Java SE 7 技術手冊投影片第 04 章 - 認識物件
Java SE 8 技術手冊第 4 章 - 認識物件
Java SE 8 技術手冊第 4 章 - 認識物件
從模組到類別
從模組到類別
流程語法與函式
流程語法與函式
Java SE 7 技術手冊投影片第 12 章 - 通用API
Java SE 7 技術手冊投影片第 12 章 - 通用API
9. meta-programming
9. meta-programming
如何用JDK8實作一個小型的關聯式資料庫系統
如何用JDK8實作一個小型的關聯式資料庫系統
Java SE 8 技術手冊第 12 章 - Lambda
Java SE 8 技術手冊第 12 章 - Lambda
7. 錯誤處理
7. 錯誤處理
Nashorn on JDK 8 (ADC2013)
Nashorn on JDK 8 (ADC2013)
CH11:執行緒與並行API
CH11:執行緒與並行API
Java 的開放原碼全文搜尋技術 - Lucene
Java 的開放原碼全文搜尋技術 - Lucene
例外處理
例外處理
全文搜尋引擎的進階實作與應用
全文搜尋引擎的進階實作與應用
Semelhante a 輸入輸出
[圣思园][Java SE]Io 3
[圣思园][Java SE]Io 3
ArBing Xie
瞭解串流與輸入輸出 認識InputStream、OutputStream繼承架構 認識Reader、Writer繼承架構 使用輸入輸出裝飾器
CH10:輸入輸出
CH10:輸入輸出
Justin Lin
Java Jdk6学习笔记[Ppt]
Java Jdk6学习笔记[Ppt]
yiditushe
About java IO framework
13, io
13, io
ted-xu
JavaSE6.0 Note
Io 2
Io 2
Medivh2011
Java tutorials - String
12, string
12, string
ted-xu
Robot framework是一種什麼框架,該如何使用這個框架。 在這次的分享中,會簡單介紹 Robot framework ,他為什麼適合QA,該如何開始使用框架,並且會在現場的實作基本測試。他為什麼可以讓一個部門才創立短短不到兩年,如何快速地且有效率的增加自動化測試coverage。如果你正在為選擇哪種工具來增加自動化測試,或者正在組織 QA 部門,可能 Robot framework 會是你不錯的選擇。
Agile Taichung sharing Robot Framework 2018/05/19
Agile Taichung sharing Robot Framework 2018/05/19
Leo Tseng
給 Ruby 開發者的
⼤語⾔模型 LLM 應⽤開發入⾨
⼤語⾔模型 LLM 應⽤開發入⾨
Wen-Tien Chang
Java SE 7 技術手冊
Java SE 7 技術手冊投影片第 05 章 - 物件封裝
Java SE 7 技術手冊投影片第 05 章 - 物件封裝
Justin Lin
Btrace intro(撒迦)
Btrace intro(撒迦)
ykdsg
this is a Elastic stack training material
Elastic stack day-1
Elastic stack day-1
YI-CHING WU
Basic knowledge for Linux binary Exploitation
Linux binary Exploitation - Basic knowledge
Linux binary Exploitation - Basic knowledge
Angel Boy
2011 Java TWO
千呼萬喚始出來的 Java SE 7
千呼萬喚始出來的 Java SE 7
Justin Lin
NTUST軟體工程期末Project
文學通的開發心路歷程
文學通的開發心路歷程
建銘 廖
《Python 3.5 技術手冊》第 8 章投影片
open() 與 io 模組
open() 與 io 模組
Justin Lin
与Python一路走来
与Python一路走来
leejd
Angular CLI 團隊所開發的 Schematics 工具,讓 Angular 在開發上多了無限的可能性,目前已經有許多的套件都將 schematics 視為標準的操作流程,透過 schematics 來減少程式碼初始化的時間。那企業該如何透過 Schematics 來幫助團隊更有效的開發系統呢,透過本次的分享,能讓大家更能瞭解 Schematics 的奧妙之處
改善 Angular 開發流程:你所不知道的 Schematics 程式碼產生器
改善 Angular 開發流程:你所不知道的 Schematics 程式碼產生器
Chieh Kai Yang
講解類別、例外處理、執行緒,這些基礎觀念,最後才說明如何寫一個網路程式。
Java 網路程式
Java 網路程式
PingLun Liao
spark tutorial
Spark tutorial
Spark tutorial
Lin JiaMing
A slide for a 3D Modeling workshop.
OpenSCAD Workshop
OpenSCAD Workshop
Justin Lin
Semelhante a 輸入輸出
(20)
[圣思园][Java SE]Io 3
[圣思园][Java SE]Io 3
CH10:輸入輸出
CH10:輸入輸出
Java Jdk6学习笔记[Ppt]
Java Jdk6学习笔记[Ppt]
13, io
13, io
Io 2
Io 2
12, string
12, string
Agile Taichung sharing Robot Framework 2018/05/19
Agile Taichung sharing Robot Framework 2018/05/19
⼤語⾔模型 LLM 應⽤開發入⾨
⼤語⾔模型 LLM 應⽤開發入⾨
Java SE 7 技術手冊投影片第 05 章 - 物件封裝
Java SE 7 技術手冊投影片第 05 章 - 物件封裝
Btrace intro(撒迦)
Btrace intro(撒迦)
Elastic stack day-1
Elastic stack day-1
Linux binary Exploitation - Basic knowledge
Linux binary Exploitation - Basic knowledge
千呼萬喚始出來的 Java SE 7
千呼萬喚始出來的 Java SE 7
文學通的開發心路歷程
文學通的開發心路歷程
open() 與 io 模組
open() 與 io 模組
与Python一路走来
与Python一路走来
改善 Angular 開發流程:你所不知道的 Schematics 程式碼產生器
改善 Angular 開發流程:你所不知道的 Schematics 程式碼產生器
Java 網路程式
Java 網路程式
Spark tutorial
Spark tutorial
OpenSCAD Workshop
OpenSCAD Workshop
Mais de Justin Lin
認識 Spring Boot 認識 Spring Tool Suite 遷移微網誌至 Spring Boot
Ch14 簡介 Spring Boot
Ch14 簡介 Spring Boot
Justin Lin
區別程式庫與框架 逐步善用 Spring MVC 簡介 Thymeleaf 模版 使用 Spring Security
Ch13 整合 Spring MVC/Security
Ch13 整合 Spring MVC/Security
Justin Lin
使用 Gradle 結合 Gradle 與 IDE 認識相依注入 使用 Spring 核心
Ch12 Spring 起步走
Ch12 Spring 起步走
Justin Lin
寄送純文字郵件 寄送 HTML 郵件 寄送附檔郵件
Ch11 簡介 JavaMail
Ch11 簡介 JavaMail
Justin Lin
了解 Java EE 安全概念與名詞 使用容器基本驗證與表單驗 使用 HTTPS 保密資料傳輸
Ch10 Web 容器安全管理
Ch10 Web 容器安全管理
Justin Lin
了解 JDBC 架構 使用基本的 JDBC 透過 JNDI 取得DataSource 在 Web 應用程式整合資料庫
Ch09 整合資料庫
Ch09 整合資料庫
Justin Lin
使用 Tag File 自訂標籤 使用 Simple Tag 自訂標籤 使用 Tag 自訂標籤
Ch08 自訂標籤
Ch08 自訂標籤
Justin Lin
了解何謂 JSTL 使用 JSTL 核心標籤庫 使用 JSTL 格式標籤庫 使用 JSTL XML 標籤庫 使用 JSTL 函式標籤庫
Ch07 使用 JSTL
Ch07 使用 JSTL
Justin Lin
了解 JSP 生命週期 使用 JSP 語法元素 使用 JSP 標準標籤 使用運算式語言(EL) 自訂 EL 函式
Ch06 使用 JSP
Ch06 使用 JSP
Justin Lin
了解 Servlet 生命週期 使用 ServletConfig 與ServletContext 使用 PushBuilder 各種傾聽器的使用 繼承 HttpFilter 實作過濾器
Ch05 Servlet 進階 API、過濾器與傾聽器
Ch05 Servlet 進階 API、過濾器與傾聽器
Justin Lin
了解會話管理基本原理 使用 Cookie 類別 使用 HttpSession 會話管理 了解容器會話管理原理
Ch04 會話管理
Ch04 會話管理
Justin Lin
取得請求參數與標頭 處理中文字元請求與回應 設定與取得請求範圍屬性 使用轉發、包含、重新導向
Ch03 請求與回應
Ch03 請求與回應
Justin Lin
開發環境準備與使用 了解 Web 應用程式架構 Servlet 撰寫與部署設定 了解 URI 模式對應 使用 web-fragement.xml
Ch02 撰寫與設定 Servlet
Ch02 撰寫與設定 Servlet
Justin Lin
認識 HTTP 基本特性 了解何為 URI 編碼 認識 Web 容器角色 了解 Servlet 與 JSP 的關係 認識 MVC/Model 2
CH1. 簡介 Web 應用程式
CH1. 簡介 Web 應用程式
Justin Lin
運用描述器 實作裝飾器 定義 meta 類別 使用相對匯入 泛型進階
14. 進階主題
14. 進階主題
Justin Lin
認識並行、平行與非同步 使用 threading 模組 使用 multiprocessing 模組 使用 concurrent.futures模組 運用 async、await 與 asyncio
13.並行、平行與非同步
13.並行、平行與非同步
Justin Lin
使用 pdb 模組除錯 對程式進行單元測試 使用 timeit 評測程式片段 使用 cProfile(profile)察看評測數據
12. 除錯、測試與效能
12. 除錯、測試與效能
Justin Lin
處理日期與時間 認識日誌的使用 運用規則表示式 管理檔案與目錄 URL 處理
11. 常用內建模組
11. 常用內建模組
Justin Lin
使用 pickle 與 shelve 認識 DB-API 2.0 使用 sqlite3 模組 處理 CSV、JSON、XML
10. 資料永續與交換
10. 資料永續與交換
Justin Lin
認識 hashable、iterable、orderable 對物件進行排序 認識群集架構 運用 collections 模組 運用 collections.abc 模組
9. 資料結構
9. 資料結構
Justin Lin
Mais de Justin Lin
(20)
Ch14 簡介 Spring Boot
Ch14 簡介 Spring Boot
Ch13 整合 Spring MVC/Security
Ch13 整合 Spring MVC/Security
Ch12 Spring 起步走
Ch12 Spring 起步走
Ch11 簡介 JavaMail
Ch11 簡介 JavaMail
Ch10 Web 容器安全管理
Ch10 Web 容器安全管理
Ch09 整合資料庫
Ch09 整合資料庫
Ch08 自訂標籤
Ch08 自訂標籤
Ch07 使用 JSTL
Ch07 使用 JSTL
Ch06 使用 JSP
Ch06 使用 JSP
Ch05 Servlet 進階 API、過濾器與傾聽器
Ch05 Servlet 進階 API、過濾器與傾聽器
Ch04 會話管理
Ch04 會話管理
Ch03 請求與回應
Ch03 請求與回應
Ch02 撰寫與設定 Servlet
Ch02 撰寫與設定 Servlet
CH1. 簡介 Web 應用程式
CH1. 簡介 Web 應用程式
14. 進階主題
14. 進階主題
13.並行、平行與非同步
13.並行、平行與非同步
12. 除錯、測試與效能
12. 除錯、測試與效能
11. 常用內建模組
11. 常用內建模組
10. 資料永續與交換
10. 資料永續與交換
9. 資料結構
9. 資料結構
輸入輸出
1.
1
2.
輸入輸出 學習目標 • 瞭解串流與輸入輸出的關係 • 認識InputStream、OutputStream繼承架構 •
認識Reader、Writer繼承架構 • 使用輸入輸出裝飾器類別 2
3.
串流設計觀念 3
4.
串流設計觀念 • 從應用程式角度來看,如果要將資料從來源 取出,可以使用輸入串流,如果要將資料寫 入目的地,可以使用輸出串流 • 輸入串流代表物件為 java.io.InputStream實例,輸出串流代 表物件為java.io.OutputStream實例 4
5.
串流設計觀念 5
6.
串流設計觀念 • 來源與目的地都不知道的情況下,如何撰寫 程式? 6
7.
串流設計觀念 • 在不使用InputStream與OutputStream 時,必須使用close()方法關閉串流 • InputStream與OutputStream實作了 java.io.Closeable介面,其父介面為 java.lang.AutoCloseable介面,因此 可使用JDK7嘗試自動關閉資源語法 7
8.
串流設計觀念 • 如果要將某個檔案讀入並另存為另一個檔案 .. 8
9.
串流設計觀念 • 如果要從HTTP伺服器讀取某個網頁,並另存 為檔案 … 9
10.
串流設計觀念 • 使用java.net.ServerSocket接受客戶 端連線的例子: 10
11.
串流設計觀念 • 將來學到Servlet,想將檔案輸出至瀏覽器, 也會有類似的操作: 11
12.
串流繼承架構 12
13.
串流繼承架構 13
14.
串流繼承架構 • 記得System.in與System.out嗎?分別是 InputStream與PrintStream的實例 … •
較少直接操作InputStream相關方法,而 是如先前章節使用java.util.Scanner包 裹System.in 14
15.
串流繼承架構 • 可以使用System的setIn()方法指定 InputStream實例,指定標準輸入來源 • 將標準輸入指定為FileInputStream,可 以讀取指定檔案並顯示在文字模式 15
16.
串流繼承架構 • 若要將10.1.1的Download範例改為輸出至標 準輸出,也可以這麼寫: 16
17.
串流繼承架構 • 標準輸出可以重新導向至檔案,只要執行程 式時使用>將輸出結果導向至指定的檔案 • 如果使用>>則是附加訊息 17
18.
串流繼承架構 • 可以使用System的setOut()方法指定 PrintStream實例,將結果輸出至指定的 目的地 • 將標準輸出指定至檔案: 18
19.
串流繼承架構 • System.err為PrintSteam實例,稱之為 標準錯誤輸出串流,用來立即顯示錯誤訊息 • System.out輸出的訊息可以使用>或>>重 新導向至檔案,但System.err輸出的訊息 一定會顯示在文字模式中,無法重新導向 •
可以使用System.setErr()指定 PrintStream,指定標準錯誤輸出串流 19
20.
串流繼承架構 • FileInputStream是InputStream的子類,可 以指定檔案名稱建構實例,一旦建構檔案就開啟, 接著就可用來讀取資料 • FileOutputStream是OutputStream的子類, 可以指定檔案名稱建構實例,一旦建構檔案就開啟, 接著就可以用來寫出資料 •
無論是FileInputStream或 FileOutputStream,不使用時都要使用close() 關閉檔案 20
21.
串流繼承架構 • FileInputStream主要實作了 InputStream的read()抽象方法,使之可 從檔案中讀取資料 • FileOutputStream主要實作了 OutputStream的write()抽象方法,使之 可寫出資料至檔案 21
22.
串流繼承架構 • FileInputStream、 FileOutputStream在讀取、寫入檔案時, 是以位元組為單位 • 通常會使用一些高階類別加以包裹,進行一 些高階操作,像是Scanner與 PrintStream類別等 22
23.
串流繼承架構 • ByteArrayInputStream是 InputStream的子類,可以指定byte陣列 建構實例,一旦建構就可將byte陣列當作資 料來源進行讀取 • ByteArrayOutputStream是 OutputStream的子類,可以指定byte陣 列建構實例,一旦建構將byte陣列寫作目的 地寫出資料 23
24.
串流繼承架構 • ByteArrayInputStream主要實作了 InputStream的read()抽象方法,使之可 從byte陣列中讀取資料 • ByteArrayOutputStream主要實作了 OutputStream的write()抽象方法,使之 可寫出資料至byte陣列 24
25.
串流處理裝飾器 • InputStream、OutputStream提供串流 基本操作,如果想要為輸入輸出的資料作加 工處理,則可以使用包裹器類別 – 具備緩衝區作用的BufferedInputStream、 BufferedOutputStream –
具備資料轉換處理作用的DataInputStream、 DataOutputStream – 具備物件序列化能力的ObjectInputStream、 ObjectOutputStream 25
26.
串流處理裝飾器 26
27.
串流處理裝飾器 • 如果傳入IO.dump()的是 FileInputStream、 FileOutputStream實例,每次read()時 都會要求讀取硬碟,每次write()都會要求 寫入硬碟,這會花費許多時間在硬碟定位上 27
28.
串流處理裝飾器 • BufferedInputStream與 BufferedOutputStream主要於內部提供 緩衝區功能 • 建構BufferedInputStream、 BufferedOutputStream必須提供 InputStream、OutputStream進行包裹, 可以使用預設或自訂緩衝區大小 28
29.
串流處理裝飾器 29
30.
串流處理裝飾器 • DataInputStream、 DataOutputStream提供讀取、寫入Java 基本資料型的方法,像是讀寫int、double、 boolean等的方法 30
31.
31
32.
32
33.
串流處理裝飾器 • ObjectInputStream提供readObject()方法將 資料讀入為物件,而ObjectOutputStream提供 writeObject()方法將物件寫至目的地 • 可以被這兩個方法處理的物件,必須實作 java.io.Serializable介面,這個介面並沒有 定義任何方法,只是作為標示之用,表示這個物件 是可以序列化的(Serializable) 33
34.
34
35.
35
36.
串流處理裝飾器 • 如果在作物件序列化時,物件中某些資料成 員不希望被寫入,則可以標上transient關 鍵字 36
37.
Reader與Writer繼承架構 37
38.
Reader與Writer繼承架構 • 在不使用Reader與Writer時,必須使用 close()方法關閉串流,由於Reader與 Writer實作了Closeable介面,其父介面 為AutoCloseable介面,因此可使用JDK7 嘗試自動關閉資源語法 38
39.
Reader與Writer繼承架構 39
40.
Reader與Writer繼承架構 40
41.
Reader與Writer繼承架構 • 若要使用CharUtil.dump()讀入檔案、轉 為字串並顯示在文字模式中… 41
42.
Reader與Writer繼承架構 • FileReader、FileWriter可以對檔案作 讀取與寫入,讀取或寫入時預設會使用作業 系統預設編碼來作字元轉換 • 在啟動JVM時,可指定-Dfile.encoding 來指定FileReader、FileWriter所使用 的編碼 42
43.
Reader與Writer繼承架構 • FileReader、FileWriter沒有可以指定 編碼的方法 • 如果在程式執行過程中想要指定編碼,則必 須使用InpuStreamReader、 OutputStreamWriter 43
44.
字元處理裝飾器 • 想要將位元組資料轉換為對應的編碼字元, 可以使用InputStreamReader、 OutputStreamWriter對串流資料資料包 裹 • 在建立InputStreamReader與 OutputStreamWriter時,可以指定編碼, 如果沒有指定編碼,則以JVM啟動時所獲取 的預設編碼來作字元轉換 44
45.
字元處理裝飾器 45
46.
字元處理裝飾器 • 想以UTF-8處理字元資料,例如讀取UTF-8的 Main.java文字檔案,並另存為UTF-8的 Main.txt文字檔案 … 46
47.
字元處理裝飾器 • BufferedReader、BufferedWriter可 對Reader、Writer提供緩衝區作用 • JDK
1.4之前,標準API並沒有Scanner類別, 若要在文字模式下取得使用者輸入的字串, 會如下撰寫: 47
48.
字元處理裝飾器 • PrintWriter與PrintStream使用上極為 類似,除了可以對OutptStream包裹之外, PrintWriter還可以對Writer進行包裹, 提供print()、println()、format()等 方法 48
Baixar agora