1、輸入與輸出的概念java
是指程序與外部設備或其餘計算機進行交互的操做;工具
Java把這些輸入與輸出操做用流來實現,經過統一的接口來表示,從而使程序設計更爲簡單;編碼
入仍是出是相對於內存來講的;設計
把數據讀到內存中,稱爲輸入,即input,進行數據的read操做;對象
從內存往外部設備寫數據,稱爲輸出,即output,進行數據的write操做。blog
2、File類接口
一、File類的概念圖片
File類是java.io包中很重要的一個類;內存
File類的對象能夠表示文件,還能夠表示目錄,在程序中一個File類對象能夠表明一個文件或目錄;字符串
File對象能夠對文件或目錄的屬性進行操做,如:文件名、最後修改日期、文件大小等;
File對象沒法操做文件的具體數據,即不能直接對文件進行讀/寫操做。
二、File的構造方法..
File類的構造方法有4種重載方式,經常使用的以下:
如://在當前目錄下建立一個與aaa.txt文件名相關聯的文件對象
File f1 = new File("aaa.txt");
//指明詳細的路徑以及文件名,請注意雙斜線或用反斜槓
File f2 = new File("D:\\Java\\Hello.java");
//指明詳細的路徑以及目錄名,請注意雙斜線
File f3 = new File("D:\\Java");
3、輸入流與輸出流
一、流按着數據的傳輸方向分爲:
-輸入流:往內存中讀叫輸入流;
-輸出流:從內存中往外寫叫輸出流。
二、全部輸入流都是InputStream類或者Reader類的子類
-類名以InputStream結尾的類都是InputStream的子類;
-類名以Reader結尾的類都是Reader類的子類。
三、全部輸出流都是OutputStream類或者Writer類的子類
-類名以OutputStream結尾的類都是OutputStream的子類;
-類名以Writer結尾的類都是Writer類的子類。
4、字節流與字符流.
一、從數據流編碼格式上劃分爲
-字節流
-字符流
二、InputStream和OutputStream的子類都是字節流
-能夠讀寫二進制文件,主要處理音頻、圖片、歌曲、字節流,處理單元爲1個字節。
三、Reader和Writer的子類都是字符流
-主要處理字符或字符串,字符流處理單元爲2個字節;
-字節流將讀取到的字節數據,去指定的編碼表中獲取對應文字。
四、字節流中經常使用類
-字節輸入流 FileInputStream
-字節輸出流 FileOutputStream
五、字符流中經常使用類
-字符輸入流 FileReader
-字符輸出流 FileWriter
5、字節流與字符流的轉換
一、轉換流的由來
-字符流與字節流之間的橋樑
-方便了字符流與字節流之間的操做
二、轉換流的應用
-字節流中的數據都是字符時,轉成字符流操做更高效
三、字節流轉換成字符流的橋樑
-InputStreamReader
InputStreamReader(InputStream in)
InputStreamReader(InputStream in, String charsetName)
-OutputStreamWriter
OutputStreamWriter(OutputStream out)
OutputStreamWriter(OutputStream out, String charsetName)
它讀入字節,並根據指定的編碼方式,將之轉換爲字符流。
使用的編碼方式可能由名稱指定,或平臺可接受的缺省編碼方式。
6、scanner類
Scanner類位於java.util包中,不在java.io包中,不屬於IO流
Scanner是一個工具類,主要目標是簡化文本的掃描,最常使用此類獲取控制檯輸入
Scanner獲取控制檯輸入的步驟
一、使用控制檯輸入建立Scanner對象
Scanner scanner=new Scanner(System.in);
二、調用Scanner中的nextXXX方法,得到須要的數據類型
例如:next、 nextLine、nextInt、nextByte等。