Java IO流(基礎詳解,快速上手!) |
您所在的位置:网站首页 › 法语26个字母的音标 › Java IO流(基礎詳解,快速上手!) |
文章目錄 概述什么是IO流?常用的文件操作獲取文件操作目錄操作 IO流的原理和分類 概述 在Java的學習中,文件和IO流是一個十分重要的板塊。在Java中,File是文件和目錄路徑名的抽象表示。文件和目錄可以通過File封裝成對象。對File而言,其封裝的並不是一個真正存在的文件,僅僅只是一個路徑名而已,他可以是存在的也可以是不存在的。將徠是要通過具體操作把這個路徑的內容轉化為具體存在的。 什么是IO流? IO流也叫文件流。其實就是計算機調度把各個存儲中(包括內存和外部存儲)的數據寫入寫出的過程(通過IO可以完成硬盤文件的讀和寫) I:input(輸入)O:Output(輸出) 文件在程序中是以流的形式操作的(文件是保存數據的地方) 輸入流:數據從數據源(文件)到程序(內存)的路徑輸出流:數據從程序(內存)到數據源(文件)的路徑 常用的文件操作 根據路徑構建一個File對象 new File(String pathname);根據 父目錄文件 + 子路徑 父目錄文件+子路徑 父目錄文件+子路徑 構建 new File(File parent, String child);根據 父目錄 + 子路徑 父目錄+子路徑 父目錄+子路徑 構建 new File(String parent, String child);createNewFile方法 創建新文件 將內存的File寫入到硬盤中,如果命名文件不存在且已成功創建,則此方法返回 true。 如果文件存在,該方法返回 false。 官方文檔(采用JD8版本) 中文 English File實現了Serializable(串行化)和Comparable(比較)兩個接口 一個類實現了 Comparable 接口,意味著該類的對象可以直接進行比較 演示 方式1 new File(String pathname); import java.io.File; import java.io.IOException; @Test public void create01(){ String filePath = "E:\\text.txt"; File file = new File(filePath); try { file.createNewFile(); } catch (IOException e) { e.getMessage(); } System.out.println("文件創建成功"); }此時E盤下會出現text文件 方式2 new File(File parent, String child); 父目錄文件+子路徑 @Test public void create02(){ File parentfile = new File("E:\\"); String fileName = "text2.txt"; File file = new File(parentfile, fileName); try { file.createNewFile(); } catch (IOException e) { e.getMessage(); } }此時E盤下會出現text2文件 方式3 new File(String parent, String child); 父目錄+子路徑 @Test public void create03(){ String parentPath = "E:\\"; String filePath = "text3.txt"; File file = new File(parentPath, filePath); try { file.createNewFile(); } catch (IOException e) { e.getMessage(); } }此時E盤下會出現text3文件 注意:路徑也可也用 / 這個,只不過用 \ 的時候需要在加上一個(轉義字符) 獲取文件操作 基本的常用方法(並不是全部) getName 獲取文件的名字getAbsolutePath 獲取文件的絕對路徑getParent 獲取文件的父級目錄length 獲取文件的大小exists 文件是否存在ifFile 是否是一個文件(File)isDirectory 文件是否是目錄 更多方法可在JDK文檔或百度進行查看 演示 @Test public void info(){ //先創建文件對象 File file = new File("E:\\text1.txt"); //調用相應的方法 System.out.println("文件名字:"+file.getName()); System.out.println("文件絕對路徑:"+file.getAbsolutePath()); System.out.println("文件父級目錄:"+file.getParent()); System.out.println("文件大小(字節):"+file.length()); System.out.println("文件是否存在:"+file.exists()); System.out.println("是否存在:"+file.isFile()); System.out.println("文件是否為目錄:"+file.isDirectory()); }輸出: 文件名字:text1.txt 文件絕對路徑:E:\text1.txt 文件父級目錄:E: 文件大小(字節):11 文件是否存在:true 是否存在:true 文件是否為目錄:false 目錄操作 mkdir 創建一級目錄mkdirs 創建多級目錄delete 刪除空目錄或文件 刪除文件(目錄),返回的是一個布爾值,成功為true,失敗為false import java.io.File import org.junit.jupiter.api.Test; @Test public void m1(){ String filePath = "E:\\text1.txt"; //String filePath = "E:\\text";//刪除text目錄同理 File file = new File(filePath); file.delete(); }E盤下的text.txt文件被刪除 創建一級目錄(mkdir) @Test public void m2(){ String filePath = "E:\\text"; File file = new File(filePath); file.mkdir(); }此時E盤會出現text目錄 創建多級目錄(mkdirs) @Test public void m2(){ String filePath = "E:\\text\\text2\\text3"; File file = new File(filePath); file.mkdirs(); }IO流的原理和分類 I/O是Input/Output的縮寫,I/O技術是非常實用的技術,用於處理數據傳輸(如讀/寫文件,網絡通信等)Java程序中,對於數據的輸入 / 輸出操作以 “流(stream)” 的方式進行Java.io 包下提供了各種 “流” 類和接口,用以獲取不同種類的數據,並通過方法輸入或輸出數據 輸入input:讀取外部數據(磁盤、光盤、數據庫、網絡等存儲設備的數據)到程序(內存)中輸出output:將程序(內存)數據輸出到磁盤、光盤等存儲設備中
按操作數據單位不同分為:字節流(8bit)二進制文件,字符流(按字符,一個字符對於多少個字節和編碼有關)文本文件按數據流的流向不同分為:輸入流、輸出流 字節流主要是由InputStream和outPutStream作為基類,而字符流則主要有Reader和Writer作為基類。 按流的角色的不同分為:節點流、處理流/包裝流 可以從/向一個特定的IO設備(如磁盤,網絡)讀/寫數據的流,稱為節點流。處理流則用於對一個已存在的流進行連接和封裝,通過封裝後的流徠實現數據的讀/寫功能。 InputStreamOutputStreamReaderWriter 以上四個均為抽象類(abstract),在使用的時候要去創建它們的實現子類! 在Java的IO流共涉及40多個類,實際上非常規則,都是從以上四個抽象基類派生的 由這四個類派生出徠的子類名稱都是以其父類名作為子類的後綴名 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |