輸入:將文件讀到內存中jvm
輸出:將文件從內存輸出到其餘地方學習
主要就是解決設備和設備之間的數據傳輸問題。好比:硬盤 --->內存,內存數據------>硬盤中 把鍵盤的數據寫入到內存。測試
將U盤的文件拷貝到電腦中:輸入流----->讀到內存----->經過輸出流讀到電腦磁盤中。spa
好比:打印機打印信息表。對象
好比:註冊時的圖片上傳圖片
好比:下載功能內存
以及解析XML......資源
數據保存到本地,數據的一個永久保存。 數據保存到磁盤是以文件的形式存在的。因此如今學習文件的操做。字符串
Java中如何操做文件:get
Java中是經過File文件類來操做文件和文件夾的。
new File(String pathname);
經過將給定路徑來建立一個新File實例。
new File(String parent, String child);
根據parent路徑名字符串和child路徑名建立一個新File實例。
parent是指上級目錄的路徑,完整的路徑爲parent+child.
new File(File parent, String child);
根據parent抽象路徑名和child路徑名建立一個新File實例。
parent是指上級目錄的路徑,完整的路徑爲parent.getPath()+child.
說明:
若是指定的路徑不存在(沒有這個文件或是文件夾),不會拋異常,這時file.exists()返回false。
(一). 經過指定的文件路徑建立一個File對象
File file = new File(pathname);
Pathname:文件的路徑
System.out.println(「是否存在文件?」+file.exists());
Exists()返回一個boolean值類型 判斷是否存在文件
(二). File parent parent 先指定一個抽象的根路徑名
File parent= new File(「D:\\");
File file = new File(parent,」a.txt」);
System.out.println(「是否存在文件?」+file.exists());
(三). File file = new File(「D:\\」,」a.txt」);
System.out.println(「是否存在文件?」+file.exists());
目錄的分隔符:
不一樣系統的分隔符是不同的。
在Windoes系統上的目錄分隔符:\ ,可是在Linux系統上的目錄分隔符是 /
注意點:在Windows上 \ 或者 /均可以做爲目錄的分隔符。若是你用的反斜槓 目錄分隔符就是\\ 若是使用 / 直接使用 / 就能夠分割。
絕對路徑:文件在硬盤上的完整路徑。通常都是以盤符開頭 D:\\a.txt 絕對路徑。
相對路徑:資源文件相對當前程序所在的路徑。
(.. 表示上一級目錄 . 表示當前文件所在目錄)
createNewFile() 在指定位置建立一個空文件,成功就返回true,若是已存在就不建立而後返回false
mkdir() 在指定位置建立目錄,這隻會建立最後一級目錄,若是上級目錄不存在就拋異常。
注意:1.不可以有同名的文件或文件夾
2.只能建立單級文件夾
mkdirs()在指定位置建立目錄,這會建立路徑中全部不存在的目錄。
若是更改盤符,那麼renameTo作的是剪切操做。
delete() 刪除文件或一個空文件夾,若是是文件夾且不爲空,則不能刪除,成功返回true,失敗返回false。
直接刪除
deleteOnExit()在虛擬機終止時,請求刪除此抽象路徑名錶示的文件或目錄,保證程序異常時建立的臨時文件也能夠被刪除
在jvm退出時刪除
exists() 文件或文件夾是否存在。
isFile() 是不是一個文件,若是不存在,則始終爲false。
isDirectory() 是不是一個目錄,若是不存在,則始終爲false。
isHidden() 是不是一個隱藏的文件或是不是隱藏的目錄。
isAbsolute() 測試此抽象路徑名是否爲絕對路徑名。
文件相關:
getName() 獲取文件或文件夾的名稱,不包含上級路徑。
獲取文件名稱,不包含上級路徑。
getPath() 返回絕對路徑,能夠是相對路徑,可是目錄要指定
getAbsolutePath() 獲取文件的絕對e路徑,與文件是否存在不要緊
length()獲取文件的大小(字節數),若是文件不存在則返回0L,若是是文件夾也返回0L。
獲取文件的大小以字節爲單位 1KB = 1024b 1M = 1024kb 1G =1024M
getParent() 返回此抽象路徑名父目錄的路徑名字符串;若是此路徑名沒有指定父目錄,則返回null。
除了文件之外的全部部分都是父路徑
lastModified() 獲取最後一次被修改的時間。
文件夾相關:
staic File[] listRoots() 列出全部的根目錄(Window中就是全部系統的盤符)
File files[] = File listRoots();
For(File file : files){
System.out.println(「盤符:」+file);
}
list() 返回目錄下的文件或者目錄名,包含隱藏文件。對於文件這樣操做會返回null。
list(FilenameFilter filter) 返回指定當前目錄中符合過濾條件的子文件或子目錄。對於文件這樣操做會返回null。
listFiles() 返回目錄下的文件或者目錄對象(File類實例),包含隱藏文件。對於文件這樣操做會返回null。
listFiles(FilenameFilter filter) 返回指定當前目錄中符合過濾條件的子文件或子目錄。對於文件這樣操做會返回null。