Java基礎--初識IO
工具:IDEA
語言:Java
語言版本:JDK1.8
說到程式語言可謂是許許多多,但現今程式設計主流的語言之一還是要屬java被廣為人知的,當我們使用程式語言進行程式開發時,就免不了操作磁碟檔案了,所謂的操作檔案其實就是對檔案進行路徑的指派、建立、刪除......等操作,java.io操作可以說是所有語言之最了,java的File類也是java.io包裡唯一一個與檔案本身有關的操作類了。
public File(String pathname)
(引用JDK1.8
通過將給定的路徑名的字串轉換成一個抽象路徑名建立一個新的 File
例項。如果給定的字串為空字串,則結果是空洞的抽象路徑名。
引數
pathname
-路徑名的字串
異常
NullPointerException
-如果 pathname
論點是 null
)
public File(String parent,String child)
(引用JDK1.8
建立從父路徑名的字串和一個孩子的一個新的 File
例項檔案。
如果parent
是null
那麼新File
例項通過呼叫單個引數File
建構函式在給定的child
路徑字串建立如。
否則parent
路徑字串來表示一個目錄,和child
路徑字串來表示一個目錄或檔案。如果child
parent
然後空字串的新File
例項轉換成一個抽象路徑名child
和解決與系統相關的結果建立的預設目錄。否則每個路徑名的字串轉換成一個抽象路徑名和孩子的抽象路徑名是解決對母。
引數
parent
-父路徑名的字串
child
-孩子的路徑字串
異常
如果是 null
child
NullPointerException
)
既然是學習程式碼我們就需要舉個例子了,在實際的編碼中體會File類的例項化,並且會看到許多異常我們先用第一個來建立一個File物件
public static void main(String[] args) {
File file=new File("E:\Test.txt"); //Error:(8, 30) java: 非法轉義符
}
當填寫路徑是按照Window的寫法我們發現直接報錯了,這裡我們要注意“\”這個在Java裡面是反斜槓(\)是一個特殊的字元,被稱為轉義字元,它的作用是用來轉義後面一個字元。我們需要使用“\\”來進行路徑分割,其實不要以為到這裡就可以了,我們大多數開發都是在window系統上來開發的,但開發完成後往往會放到Linux伺服器上來跑,這裡我們就不能使用“\”了而要使用“/”了,為此File類為我們提供了一個常量separator又有好多同學要問了,常量都是按照大寫字母的命名規範啊,為什麼這個是小寫的呢?其實File類在JDK1.0就已經存在了,當時還沒有這些命名規範的。
public static void main(String[] args) { File file=new File("E:"+File.separator+"Test.txt"); } 第二個構造方法 public static void main(String[] args) throws IOException { File file=new File("E:"+File.separator,"test.txt"); }
我們在建立File物件時,如果輸入的路徑不存在時,只要不進行操作檔案,是不會出現任何問題的,他只是表示一個要操作的檔案路徑。
當我們獲得了一個路徑需要對他進行操作時,可以使用createNewFile()的方法來建立檔案,那既然能建立檔案了,我們也可以刪除檔案使用delete()方法來刪除檔案,當檔案刪除時,需要先確定檔案是否存在,才進行刪除,我們可以使exists()方法來判斷檔案是否存在。
public static void main(String[] args) throws IOException { File file = new File("E:"+File.separator+"test.txt"); //建立檔案,在物理磁碟上建立真是的檔案 file.createNewFile(); } public static void main(String[] args) throws IOException { File file = new File("E:"+File.separator+"test.txt"); //刪除此路徑的檔案 file.delete(); } public static void main(String[] args) throws IOException { File file = new File("E:"+File.separator+"test.txt"); //判斷此路徑檔案是否存在 file.exists(); }