国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專(zhuān)注于服務(wù)器技術(shù)及軟件下載分享
分類(lèi)導(dǎo)航

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

服務(wù)器之家 - 編程語(yǔ)言 - JAVA教程 - 詳解Java的文件與目錄管理以及輸入輸出相關(guān)操作

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

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

這篇文章主要介紹了詳解Java的文件與目錄管理以及輸入輸出相關(guān)操作,是Java入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下

Java中文件與目錄管理

目錄是管理文件的特殊機(jī)制,同類(lèi)文件保存在同一個(gè)目錄下不僅可以簡(jiǎn)化文件管理,而且還可以提高工作效率。Java 語(yǔ)言在 java.io 包中定義了一個(gè) File 類(lèi)專(zhuān)門(mén)用來(lái)管理磁盤(pán)文件和目錄。

每個(gè) File 類(lèi)對(duì)象表示一個(gè)磁盤(pán)文件或目錄,其對(duì)象屬性中包含了文件或目錄的相關(guān)信息。通過(guò)調(diào)用 File 類(lèi)提供的各種方法,能夠創(chuàng)建、刪除、重名名文件、判斷文件的讀寫(xiě)權(quán)限以及是否存在,設(shè)置和查詢(xún)文件的最近修改時(shí)間等。不同操作系統(tǒng)具有不同的文件系統(tǒng)組織方式,通過(guò)使用 File 類(lèi)對(duì)象,Java 程序可以用與平臺(tái)無(wú)關(guān)的、統(tǒng)一的方式來(lái)處理文件和目錄。
創(chuàng)建 File 類(lèi)的對(duì)象

創(chuàng)建 File 類(lèi)對(duì)象需要給出其所對(duì)應(yīng)的文件名或目錄名,F(xiàn)ile 類(lèi)的構(gòu)造方法如表所示。
詳解Java的文件與目錄管理以及輸入輸出相關(guān)操作
在使用 File 類(lèi)的構(gòu)造方法時(shí),需要注意下面幾點(diǎn):
(1)path 參數(shù)可以是絕對(duì)路徑,也可以是相對(duì)路徑,也可以是磁盤(pán)上的某個(gè)目錄。
( 2)由于不同操作系統(tǒng)使用的目錄分隔符不同,可以使用 System 類(lèi)的一個(gè)靜態(tài)變量System.dirSep,來(lái)實(shí)現(xiàn)在不同操作系統(tǒng)下都通用的路徑。如:

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


獲取屬性和操作

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

運(yùn)行結(jié)果如圖所示:

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

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

輸入輸出(I/O)是指程序與外部設(shè)備或其他計(jì)算機(jī)進(jìn)行交互的操作。幾乎所有的程序都具有輸入與輸出操作,如從鍵盤(pán)上讀取數(shù)據(jù),從本地或網(wǎng)絡(luò)上的文件讀取數(shù)據(jù)或?qū)懭霐?shù)據(jù)等。通過(guò)輸入和輸出操作可以從外界接收信息,或者是把信息傳遞給外界。Java把這些輸入與輸出操作用流來(lái)實(shí)現(xiàn),通過(guò)統(tǒng)一的接口來(lái)表示,從而使程序設(shè)計(jì)更為簡(jiǎn)單。
Java流的概念

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

1.輸入輸出流
在Java中,把不同類(lèi)型的輸入輸出源抽象為流,其中輸入和輸出的數(shù)據(jù)稱(chēng)為數(shù)據(jù)流(Data Stream)。數(shù)據(jù)流是Java程序發(fā)送和接收數(shù)據(jù)的一個(gè)通道,數(shù)據(jù)流中包括輸入流(Input Stream)和輸出流(Output Stream)。通常應(yīng)用程序中使用輸入流讀出數(shù)據(jù),輸出流寫(xiě)入數(shù)據(jù)。 流式輸入、輸出的特點(diǎn)是數(shù)據(jù)的獲取和發(fā)送均沿?cái)?shù)據(jù)序列順序進(jìn)行。相對(duì)于程序來(lái)說(shuō),輸出流是往存儲(chǔ)介質(zhì)或數(shù)據(jù)通道寫(xiě)入數(shù)據(jù),而輸入流是從存儲(chǔ)介質(zhì)或數(shù)據(jù)通道中讀取數(shù)據(jù),一般來(lái)說(shuō)關(guān)于流的特性有下面幾點(diǎn):
先進(jìn)先出,最先寫(xiě)入輸出流的數(shù)據(jù)最先被輸入流讀取到。
順序存取,可以一個(gè)接一個(gè)地往流中寫(xiě)入一串字節(jié),讀出時(shí)也將按寫(xiě)入順序讀取一串字節(jié),不能隨機(jī)訪問(wèn)中間的數(shù)據(jù)。
只讀或只寫(xiě),每個(gè)流只能是輸入流或輸出流的一種,不能同時(shí)具備兩個(gè)功能,在一個(gè)數(shù)據(jù)傳輸通道中,如果既要寫(xiě)入數(shù)據(jù),又要讀取數(shù)據(jù),則要分別提供兩個(gè)流。

2.緩沖流
為了提高數(shù)據(jù)的傳輸效率,引入了緩沖流(Buffered Stream)的概念,即為一個(gè)流配備一個(gè)緩沖區(qū)(Buffer),一個(gè)緩沖區(qū)就是專(zhuān)門(mén)用于傳送數(shù)據(jù)的一塊內(nèi)存。

當(dāng)向一個(gè)緩沖流寫(xiě)入數(shù)據(jù)時(shí),系統(tǒng)將數(shù)據(jù)發(fā)送到緩沖區(qū),而不是直接發(fā)送到外部設(shè)備。緩沖區(qū)自動(dòng)記錄數(shù)據(jù),當(dāng)緩沖區(qū)滿(mǎn)時(shí),系統(tǒng)將數(shù)據(jù)全部發(fā)送到相應(yīng)的外部設(shè)備。當(dāng)從一個(gè)緩沖流中讀取數(shù)據(jù)時(shí),系統(tǒng)實(shí)際是從緩沖區(qū)中讀取數(shù)據(jù),當(dāng)緩沖區(qū)為空時(shí),系統(tǒng)就會(huì)從相關(guān)外部設(shè)備自動(dòng)讀取數(shù)據(jù),并讀取盡可能多的數(shù)據(jù)填滿(mǎn)緩沖區(qū)。 使用數(shù)據(jù)流來(lái)處理輸入輸出的目的是使程序的輸入輸出操作獨(dú)立于相關(guān)設(shè)備,由于程序不需關(guān)注具體設(shè)備實(shí)現(xiàn)的細(xì)節(jié)(具體細(xì)節(jié)由系統(tǒng)處理),所以對(duì)于各種輸入輸出設(shè)備,只要針對(duì)流做處理即可,不需修改源程序,從而增強(qiáng)了程序的可移植性。
I/O流類(lèi)概述

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

java.io中類(lèi)的層次結(jié)構(gòu)如圖所示。
詳解Java的文件與目錄管理以及輸入輸出相關(guān)操作

針對(duì)一些頻繁的設(shè)備交互,Java語(yǔ)言系統(tǒng)預(yù)定了3個(gè)可以直接使用的流對(duì)象,分別是:

  • System.in(標(biāo)準(zhǔn)輸入),通常代表鍵盤(pán)輸入。
  • System.out(標(biāo)準(zhǔn)輸出):通常寫(xiě)往顯示器。
  • System.err(標(biāo)準(zhǔn)錯(cuò)誤輸出):通常寫(xiě)往顯示器。

在Java語(yǔ)言中使用字節(jié)流和字符流的步驟基本相同,以輸入流為例,首先創(chuàng)建一個(gè)與數(shù)據(jù)源相關(guān)的流對(duì)象,然后利用流對(duì)象的方法從流輸入數(shù)據(jù),最后執(zhí)行close()方法關(guān)閉流。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 中文在线a在线 | av短片在线观看 | 福利片在线观看 | 久草电影在线 | 高清av一区 | 亚洲乱码国产乱码精品精98午夜 | 日本免费精品视频 | 精品色 | 欧美 日韩 中文 | 黄色小视频在线 | 亚洲依依 | 国产精品久久久久久久天堂 | 精品九九久久 | 成人亚州| 影音先锋资源av | 精品一区二区三区视频 | 国产免费黄色 | 国产精品欧美久久久 | 激情小视频 | av网站免费 | 日韩亚洲一区二区 | 国产精品高清在线观看 | 日韩精品一区二区三区中文在线 | 一本一道久久精品综合 | 精品无码久久久久久国产 | 精品一区二区三区四区 | 国产精品一区二区久久 | 日韩免费视频 | 亚洲影视一区 | 国产精品久久久久久久天堂 | 色日韩 | 精品国产不卡一区二区三区 | 一级全黄性色生活片 | 欧美日韩第一页 | 视频一区二区三区免费观看 | 国产日韩欧美视频 | 成人av网站在线观看 | 午夜精品成人一区二区 | 欧美激情精品久久久久久 | 欧美日韩国产三级 | 亚洲高清视频在线观看 |