輸入輸出

File類

file類能新建、刪除、重命名文件和目錄,如果要訪問文件內容本身,則需要使用輸入輸入流。

輸入輸出流

Java的輸入流主要由InputStream和Reader作為基類,而輸出流主要由OutputStream和Writer作為基類,他們都是一些抽象基類無法直接創建實例。JavaIO的40多個類都是由以上四個基類派生出來的。
InputStream和Reader分別有一個用于讀取文件的輸入流:FileInputStream和FileReader

字節流和字符流

,他們都是節點流——會直接和指定文件關聯
字節流主要由InputStream和OutputStream作為基類,字符流主要由Writer和Reader作為基類

File file = new File("demo.dat");
FileInputStream fis
= new FileInputStream(file);//創建一個用于讀取demo.dat文件的輸入流
FileInputStream(String name):
創建用于讀取給定的文件系統中的路徑名name所指定的文件的FIS
例如
FileInputStream fis
//創建一個用于讀取demo.dat文件的輸入流
= new FileInputStream("demo");

1

字節流和字符流都是節點流,他們構造的時候傳入的是一個物理節點(文件名或者文件目錄)。可以使用處理流來包裝節點流,處理流的兩個優點:1.處理流輸入輸出操作簡單,使用處理流效率更高。構造處理流時傳入的是一個節點流。
區別處理流和節點流:只要流的構造器參數不是一個物理節點,而是已經存在的流,那么這種流就是處理流,而所有節點流都是以物理IO節點作為構造器參數的。

2轉換流

用于實現將字節流轉換成字符流:InputStreamReader和OutputStreamWriter

重定向標準輸入輸出

Java的標準輸入輸出分別通過system.in和System.out來代表,默認情況下他們分別代表鍵盤和顯示器
system類里提供了如下三個重定向標準輸入輸出方法:
static void setErr (PrintStream err); static void setIn (InputStream in); static void setOut (PrintStream out);

用法舉例

try(PrintStream ps = new PrintSream (new FileOutputStream ("out.txt"))) { System.setOut (ps); } catch (IOException ex) { ex.printStackTrace(); }

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 1.流的分類 (1)輸入輸出流輸入輸出是針對程序運行的內存而言的輸入流的基類:InputStream,Reader...
    ql2012jz閱讀 590評論 0 3
  • 轉載至“http://segmentfault.com/a/1190000003817055?utm_source...
    Leon_hy閱讀 1,017評論 0 13
  • Java輸入輸出流(一)# Android 是基于 Java 語言編寫的,在安卓程序的很多時候會用到有關 I/O ...
    梁加鹽閱讀 1,438評論 0 4
  • 引言 對程序語言設計者來說,設計一個令人滿意的I/O(輸入輸出)系統,是件極艱巨的任務,摘自《Thinking i...
    起個名忒難閱讀 666評論 0 1
  • 驚慌的意識到今晚是一年中最長的一夜驚慌的意識到今晚是一年里最難熬的一夜 我的拖鞋斷了,古書說破鞋是破邪之意然而我不...
    當我在白天閱讀 233評論 0 0