一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - 詳解Java的文件與目錄管理以及輸入輸出相關操作

詳解Java的文件與目錄管理以及輸入輸出相關操作

2020-01-07 14:29goldensun JAVA教程

這篇文章主要介紹了詳解Java的文件與目錄管理以及輸入輸出相關操作,是Java入門學習中的基礎知識,需要的朋友可以參考下

Java中文件與目錄管理

目錄是管理文件的特殊機制,同類文件保存在同一個目錄下不僅可以簡化文件管理,而且還可以提高工作效率。Java 語言在 java.io 包中定義了一個 File 類專門用來管理磁盤文件和目錄。

每個 File 類對象表示一個磁盤文件或目錄,其對象屬性中包含了文件或目錄的相關信息。通過調用 File 類提供的各種方法,能夠創建、刪除、重名名文件、判斷文件的讀寫權限以及是否存在,設置和查詢文件的最近修改時間等。不同操作系統具有不同的文件系統組織方式,通過使用 File 類對象,Java 程序可以用與平臺無關的、統一的方式來處理文件和目錄。
創建 File 類的對象

創建 File 類對象需要給出其所對應的文件名或目錄名,File 類的構造方法如表所示。
詳解Java的文件與目錄管理以及輸入輸出相關操作
在使用 File 類的構造方法時,需要注意下面幾點:
(1)path 參數可以是絕對路徑,也可以是相對路徑,也可以是磁盤上的某個目錄。
( 2)由于不同操作系統使用的目錄分隔符不同,可以使用 System 類的一個靜態變量System.dirSep,來實現在不同操作系統下都通用的路徑。如:

?
1
"d:"+System.dirSep+"myjava"+System.dirSep+"file"


獲取屬性和操作

借助 File 對象,可以獲取文件和相關目錄的屬性信息并可以對其進行管理和操作。表 10-10列出了其常用的方法及說明。
詳解Java的文件與目錄管理以及輸入輸出相關操作
【例】判斷輸入的絕對路徑是代表一個文件或一個目錄。若是文件輸出此文件的絕對路徑,并判斷此文件的文件屬性(是否可讀寫或隱藏);若是目錄則輸出該目錄下所有文件(不包括隱藏文件)(查看源代碼)。

運行結果如圖所示:

詳解Java的文件與目錄管理以及輸入輸出相關操作

Java輸入輸出(IO)和流的基本概念

輸入輸出(I/O)是指程序與外部設備或其他計算機進行交互的操作。幾乎所有的程序都具有輸入與輸出操作,如從鍵盤上讀取數據,從本地或網絡上的文件讀取數據或寫入數據等。通過輸入和輸出操作可以從外界接收信息,或者是把信息傳遞給外界。Java把這些輸入與輸出操作用流來實現,通過統一的接口來表示,從而使程序設計更為簡單。
Java流的概念

流(Stream)是指在計算機的輸入輸出操作中各部件之間的數據流動。按照數據的傳輸方向,流可分為輸入流與輸出流。Java語言里的流序列中的數據既可以是未經加工的原始二進制數據,也可以是經過一定編碼處理后符合某種特定格式的數據。

1.輸入輸出流
在Java中,把不同類型的輸入輸出源抽象為流,其中輸入和輸出的數據稱為數據流(Data Stream)。數據流是Java程序發送和接收數據的一個通道,數據流中包括輸入流(Input Stream)和輸出流(Output Stream)。通常應用程序中使用輸入流讀出數據,輸出流寫入數據。 流式輸入、輸出的特點是數據的獲取和發送均沿數據序列順序進行。相對于程序來說,輸出流是往存儲介質或數據通道寫入數據,而輸入流是從存儲介質或數據通道中讀取數據,一般來說關于流的特性有下面幾點:
先進先出,最先寫入輸出流的數據最先被輸入流讀取到。
順序存取,可以一個接一個地往流中寫入一串字節,讀出時也將按寫入順序讀取一串字節,不能隨機訪問中間的數據。
只讀或只寫,每個流只能是輸入流或輸出流的一種,不能同時具備兩個功能,在一個數據傳輸通道中,如果既要寫入數據,又要讀取數據,則要分別提供兩個流。

2.緩沖流
為了提高數據的傳輸效率,引入了緩沖流(Buffered Stream)的概念,即為一個流配備一個緩沖區(Buffer),一個緩沖區就是專門用于傳送數據的一塊內存。

當向一個緩沖流寫入數據時,系統將數據發送到緩沖區,而不是直接發送到外部設備。緩沖區自動記錄數據,當緩沖區滿時,系統將數據全部發送到相應的外部設備。當從一個緩沖流中讀取數據時,系統實際是從緩沖區中讀取數據,當緩沖區為空時,系統就會從相關外部設備自動讀取數據,并讀取盡可能多的數據填滿緩沖區。 使用數據流來處理輸入輸出的目的是使程序的輸入輸出操作獨立于相關設備,由于程序不需關注具體設備實現的細節(具體細節由系統處理),所以對于各種輸入輸出設備,只要針對流做處理即可,不需修改源程序,從而增強了程序的可移植性。
I/O流類概述

為了方便流的處理,Java語言提供了java.io包,在該包中的每一個類都代表了一種特定的輸入或輸出流。為了使用這些流類,編程時需要引入這個包。 Java提供了兩種類型的輸入輸出流:一種是面向字節的流,數據的處理以字節為基本單位;另一種是面向字符的流,用于字符數據的處理。字節流(Byte Stream)每次讀寫8位二進制數,也稱為二進制字節流或位流。字符流一次讀寫16位二進制數,并將其做一個字符而不是二進制位來處理。需要注意的是,為滿足字符的國際化表示,Java語言的字符編碼采用的是16位的Unicode碼,而普通文本文件中采用的是8位ASCⅡ碼。

java.io中類的層次結構如圖所示。
詳解Java的文件與目錄管理以及輸入輸出相關操作

針對一些頻繁的設備交互,Java語言系統預定了3個可以直接使用的流對象,分別是:

  • System.in(標準輸入),通常代表鍵盤輸入。
  • System.out(標準輸出):通常寫往顯示器。
  • System.err(標準錯誤輸出):通常寫往顯示器。

在Java語言中使用字節流和字符流的步驟基本相同,以輸入流為例,首先創建一個與數據源相關的流對象,然后利用流對象的方法從流輸入數據,最后執行close()方法關閉流。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲精品国产精麻豆久久99 | 99精彩视频在线观看 | 国产一区二区免费视频 | 国产老妇| 五月天婷婷网亚洲综合在线 | 国产一卡 | 第四色男人天堂 | 国产成人在线播放视频 | 天天干天天操天天爽 | 好大好硬抽搐好爽想要 | 视频亚洲一区 | 全黄h全肉细节文在线观看 全彩成人18h漫画 | 碰91精品国产91久久婷婷 | 特黄特黄aaaa级毛片免费看 | 精品国产在线观看 | 免费a视频在线观看 | 国产亚洲精品九九久在线观看 | 天天操丝袜 | 99精品免费在线观看 | 亚洲成人一区 | 日本成日本片人免费 | 色四虎| 美国一级大黄大色毛片 | 国内精品久久久久久久久久久久 | 欧美在线观看视频一区 | 免费一级国产生活片 | 美女扒开两腿露出尿口的视频 | 超逼网| 好吊妞视频998www | 国产按摩系列 | 极品美女写真菠萝蜜视频 | a亚洲天堂 | 欧美草逼网站 | 国产亚洲福利精品一区二区 | а天堂中文最新版在线官网视频 | 亚洲无人区乱码中文字幕 | a级免费在线观看 | 亚洲成av人在线视 | 国产精品视频第一区二区 | 国产亚洲成归v人片在线观看 | 久久WWW免费人成一看片 |