File類用於處理文件和目錄java
isDirectory()用於檢查當前對象是否目錄,isFile()用於檢查當前對象是否文件windows
構造File對象時,傳入的路徑不必定要求存在,要經過exists()方法判斷是否存在網絡
使用Scanner類從文件中讀取文本數據,使用PrintWriter類向文件中寫入文本數據函數
若是文件不存在,PrintWriter將建立一個新的文件;若是文件已存在,文件中的原有內容將被擦除。print(),println(),printf()三個方法向文件中寫數據,最後不要忘記調用close()方法關閉文件url
另外還能夠經過try-with-resources的語法,自動釋放資源spa
try(java.io.PrintWriter writer=new java.io.PrintWriter(file)){ //文件寫入操做 }
括號裏聲明的資源,在try代碼塊運行結束後,會自動釋放,括號裏可能同時聲明多個資源。資源對象必須是AutoCloseable的子類。資源必須在一條語句中聲明並建立完畢code
使用Scanner讀取文件,要調用下面這個構造函數orm
Scanner input = new Scanner(new File(fileName));
Scanner(string)用於直接從string變量中讀取數據。對象
換行符在windows下是\r\n, 在UNIX系統下是\n, 能夠經過以下語句獲取當前系統的換行符blog
String lineSeparator = System.getProperty("line.separator");
判斷是否已讀到文件結尾處,用Scanner.hasNext();
經過傳遞Url給Scanner, 能夠讀取網絡資源
1 System.out.println("Enter a URL: "); 2 String URLString = new Scanner(System.in).next(); 3 4 try { 5 URL url = new URL(URLString); 6 int count = 0; 7 Scanner input = new Scanner(url.openStream()); 8 while (input.hasNext()) { 9 String line = input.nextLine(); 10 count += ((String) line).length(); 11 } 12 13 System.out.println("The file size is " + count + " characters"); 14 } catch (MalformedURLException e) { 15 System.out.println("Invalid URL"); 16 } catch (IOException e) { 17 System.out.println("I/O errors: no such file"); 18 }
抽象方法只有定義,沒有實現,須要在子類中實現;含有抽象方法的類,必須定義爲抽象類;抽象類不能實例化。
子類要實現父類的全部抽象方法,不然子類也要定義成抽象類,抽象方法都是非靜態方法
抽象類不能經過new操做進行實例化,但你仍然能夠定義構造器,以在子類中被調用
含有抽象方法的類必須是抽象類,抽象類不必定要包含抽象方法
子類中能夠重寫父類中的方法,並把它定義爲抽象方法(不經常使用)
即便父類是實在類(concrete),子類也能夠定義成抽象(全部類的基類都是Object, Object是實在類)
雖然不能經過new建立抽象類的實例,可是抽象類能夠做爲一個類型使用