javaIO之檔案位元組流

2021-07-22 23:32:00 字數 2796 閱讀 2472

解釋:file類主要就是檔案在磁碟上的儲存,以及在磁碟上的一些操作,如重新命名,刪除等。

---1.1檔案的建立:

<1>createnewfile()方法:在指定位置建立乙個空檔案,如果檔案已經存在了,那麼就不會建立了。建立成功返回值為true,建立失敗就返回false。

<2>mkdir()方法:在指定位置建立乙個空單級資料夾,如果資料夾存在了,那麼就不會建立了。建立成功就返回true,建立失敗就返回false。

<3>mkdirs()方法:在指定位置建立多級空資料夾,如果資料夾存在了,那麼就不會建立了。建立成功就返回true,建立失敗就返回false。 例:

public class filetechology 

}

結果:

建立是否成功:true

---1.2.重新命名(剪下):

renameto(file file):重新命名檔案和資料夾,也可以操作非空的資料夾,目標檔案如果與原始檔不在同乙個路徑下,就相當於剪下操作,剪下對於源資料夾不能為空。

---1.3.刪除:

delete():刪除指定位置的檔案和空的資料夾,不可以刪除乙個非空資料夾。

deleteonexit():當jvm退出時,刪除指定位置的檔案。一般用於刪除一些臨時檔案。

---1.4判斷:

exists():判斷檔案和資料夾是否存在。

isfile():是否是乙個檔案,如果不存在,則返回false.

isdirectory():是否是乙個目錄,如果不存在,返回false.

ishidden():是否是乙個隱藏檔案還是隱藏目錄。

isabsolute():測試當前抽象路徑名是否為絕對路徑名。

---1.5.獲取:

getname():獲取檔案或資料夾的名稱(不包含上級路徑)

getpath():返回絕對路徑,可以是相對路徑,但是目錄要指定。

getabsolutepath():獲取檔案的絕對路徑,與檔案是否存在沒關係。

length():獲取檔案的大小,如果不存在長度為0.

getparent():返回此抽象路徑名父目錄的路徑名字串。如果不存在,那麼就返回null。

lastmodified():獲取最後一次被修改的時間。

static file listroots():列出所有的根目錄。

list():返回目錄下的檔案或檔名,包含隱藏檔案。對於檔案這樣操作返回null。

listfiles():返回目錄下的檔案或者目錄物件,包含隱藏檔案。對於檔案這樣操作返回null。

需要明確的是向磁碟的哪個路徑下讀位元組資料到程式中。然後要明確我們相對程式而言,對於磁碟的資料,程式去讀。然後別忘了關閉資源就完事了。

---2.1read()方法直接讀單個位元組方式:

public static void read(file file) throws ioexception

fis.close();

}

---2.2使用緩衝陣列,採取迴圈的方式讀取多個位元組方式,採用read(byte[ ] buf);方法:

public static void read(file file) throws ioexception

fis.close();//關閉資源

}

public static void write(string str,file file) throws ioexception
解釋:這裡在fileoutputstream的構造方法中設定true,意思就是讓程式寫入磁碟的字串是每次寫尾接在上次寫的字串的後面,而不是覆蓋,預設是以覆蓋的形式。

public class copyimage 

fos.close();

fis.close(); }

public static void main(string args) throws ioexception

}

結果:

原檔案:

拷貝後檔案:

解釋:bufferedoutputstream

和bufferedoutputstream

類可以通過減少讀寫次數來提高輸入和輸出的速度。它們內部有乙個緩衝區,用來提高處理效率。可以指定緩衝區的大小。其實內部也是封裝了位元組陣列。沒有指定緩衝區大小,預設的位元組是

8192

。注意:如果緩衝區滿了時,那麼使用flush();重新整理方法,將資料一股腦輸出。

public static void copyfile(string srcpath, string destpath)

throws ioexception

// 關閉流

bis.close();

bos.close();

}

java IO位元組流讀寫檔案

如果是按照資料的流向劃分 輸入流 輸出流以當前程式做參照物,觀察資料是流入還是流出,如果流出,則使用輸出流,如果資料是流入,則使用輸入流。如果按照處理的單位劃分 位元組流 位元組流讀取得都是檔案中二進位制資料,讀取到二進位制資料不會經過任何的處理。字元流 字元流讀取的資料是以字元為單位的 字元流也是...

java IO流 位元組流讀寫中文

位元組流讀取中文的問題 位元組流在讀中文的時候有可能會讀到半個中文,造成亂碼 fileinputstream fis new fileinputstream yyy.txt byte arr new byte 4 int len while len fis.read arr 1 位元組流寫出中文的問...

javaio位元組流和字元流

位元組流 讀檔案 test public void test catch ioexception e catch filenotfoundexception e 寫檔案 test public void test2 catch filenotfoundexception e catch ioexce...