您好,登錄后才能下訂單哦!
這篇文章主要講解了“Java IO流創建讀取與寫入操作是什么”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Java IO流創建讀取與寫入操作是什么”吧!
IO流可以初步的理解為數據間的傳輸,我們將一組數據入:1234567,將他們從hello文件中轉入haha文件中,使用程序的方法進行轉入的話則需要一個一個的傳入,即為一個字節一個字節的傳輸,我們每次只能傳入或讀取一個字節,這就是io流的大致流程,io流對任何類型的文件都可以進行讀取。如:文本文件,圖片,歌曲mp3,視頻等等的。
因為io流是一個字節一個字節的傳入讀取的所以我們需要用到byte單字節變量來獲取長度。如果獲取過多的內容則需要使用對應的數組。
所有io流方法中都需要寫入相應的文件操作路徑,且所有io流的方法都有一個共同的父類接口(Exception),所以我們在使用時都需要鏈接相對應的接口如:
public static void main(String[] args) throws Exception
聲明方式:
File file1 = new File("D:\\java制作\\高級特性\\hehe.txt");
File方法主要用于創建文件,且該方法在使用的時候必須填寫需要被創建的文件的具體路徑,我們需要將對應的文件類型后綴也寫出來,如果沒有路徑的話默認是文件夾的格式,創建文件的方法如下:
file.createNewFile();//創造相對應的文件 file.mkdirs();//創建文件夾
.createNewFile():當且僅當具有該名稱的文件不存在時,將會在對應的路徑中創建一個對應的文件
.mkdirs():當且僅當具有該名稱的文件夾不存在時,將會在對應的路徑中創建一個對應的文件夾
File方法既然有創建文件的方式那么自然也少不了刪除于判斷文件是否存在的方法。
Boolean decide = file.exists();//判斷該文件是否存在 file.delete();//刪除該文件
.exists():測試此路徑表示的文件是否存在,如果存在則返回true否則返回false
.delete():刪除由此抽象路徑下的文件或文件夾
此外也有一些相對應的查看文件的方法如名稱,路徑,大小
System.out.println("文件名稱:"+file.getName()); System.out.println("相對路徑:"+file.getPath()); System.out.println("絕對路徑:"+file.getAbsolutePath()); System.out.println("文件大小:"+file.length()+"字節");
.getName():根據英語詞義就可得知該方法是獲取相應文件的文件名。
.getPath():將相應文件的路徑轉換為字符串
.getAbsolutePath():將相應文件的絕對路徑轉換為字符串格式,與上述方法相對比更加精確。
.length():返回該文件的長度,即內部字節的長度。
聲明方式:
FileInputStream fis = new FileInputStream("D:\\java制作\\高級特性\\hello.txt");
FileInputStream用于讀取文件內字節內容的方法,且該方法在使用的時候必須填寫需要被創建的文件的具體路徑,我們平常對內部內容進行讀寫的方式如下:
byte[] data = new byte[fis.available()];//獲取文件內容并以字節的方式存儲如byte[]數組中 System.out.println((char)fis.read());//讀出相對應的字節并以char的方式輸出 //使用循環遍歷出全部的字節 byte[] data = new byte[fis.available()]; for (int i = 0; i < data.length; i++) { System.out.print((char) fis.read()); } System.out.println((char)fis.read(data,0,data.length));
.available():讀取剩余的字節數,且必須用byte[]數組來存儲對應的長度,因為byte是用來對字節的專門處理,該方法讀取的是字節數,雖然輸出時不會出錯,但方法循環中時會出錯
.read():讀取該文件中的第一個字節,因為是字節的格式所以我們需要用char(單字符變量)進行轉換,才能將其輸出,注意每次只能讀取一個,且不會讀出同一個位置的字節,每讀完一個就會少一個,如果讀完后繼續進行讀取就會答應出一個黑色邊框的空格。也可以通過需求去調用相應下標下的字節就如上述的最后一行代碼。
fis.close();
.close():關閉此文件的輸入流并釋放與流相關聯的任何系統資源,在我們引用FileInputStream流是就已經默認打開了輸入流,當我們不使用它是應將其關閉,就好比我們進入了放假需要開門,當我們進入拿走需要的文件后離開房間要關門一樣,否則它會一直開著占用電腦性能
聲明方式:
FileOutputStream fos = new FileOutputStream("D:\\java制作\\高級特性\\hehe.txt");
FileInputStream用于讀取文件內字節內容的方法,且該方法在使用的時候必須填寫需要被創建的文件的具體路徑,我們平常對內部內容進行寫入的方式如下:
String str = "天天向上";//將需要進行存儲的內容存入變量 byte[] words = str.getBytes();//將字符串變為字節方式進行存儲 fos.write(words);//最后通過字節的方式進行存儲
.write():將指定的內容存入文件輸出流再由輸出流存入文件中,存入時我們需要將文件格式轉換為電腦可讀懂的方式,8進制字節,所以我們需要將存儲的內容用byte強轉為8進制字節
fos.close();//關閉輸出流
.close():關閉此文件的輸出流并釋放與流相關聯的任何系統資源,在我們引用
FileInputStream流是就已經默認打開了輸入流,當我們不使用它是應將其關閉,就好比我們進入了放假需要開門,當我們進入拿走需要的文件后離開房間要關門一樣,否則它會一直開著占用電腦性能
感謝各位的閱讀,以上就是“Java IO流創建讀取與寫入操作是什么”的內容了,經過本文的學習后,相信大家對Java IO流創建讀取與寫入操作是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。