1. 程式人生 > >19 Java基礎筆記-包與IO流

19 Java基礎筆記-包與IO流

一,包的概念

Java包類似電腦的檔案的作用,其中包含類檔案,類檔案很多時,就需要包對他們進行歸納整理,類中宣告的包必須與實際Class檔案所在的資料夾情況相一致。

二,宣告格式

格式:

package 包名.包名.包名...;

允許有多層包,包名採用全部小寫字母
包的宣告語句必須寫在程式有效程式碼的第一行

三,訪問格式

格式:

包名.類名 變數名 = new 包名.類名();


IO流

一,IO流概念

流,即流動,從一端移動到另一端,源頭與目的地,程式與檔案,陣列,網路連線,資料庫之間的流動。

二,IO流分類

1,流向:輸入與輸出流
2,資料:位元組流,二進位制,可以包括一切檔案;字元流,文字檔案,只能處理純文字。
3,功能:結點功能,用於包裹源頭;處理功能,用於增強功能,提供效能

三,位元組流與字元流(核心)

1,位元組流

輸入流:inputStream
輸出流:outputStream

2,字元流

輸入流:reader
輸出流:writer

四,操作步驟

1.->讀取檔案
2.-->建立與檔案聯絡
3.--->選擇對應的流
4.---->讀取與寫出
	①-->陣列大小
	②-->讀取並寫出
5.----->釋放資源

五,file類構造方法三種過載方式

案例教學:


         import java.io.File;
         public class FileDemo_1{
	     public static void main(String[] args) {
		 function_1();
		 function_2();
		 function_3();
	 }

	/*
	 *File(String parent,String child)
	 *傳遞路徑型別:可以傳遞路徑,字串父路徑,字串子路徑。
	 *特性:單獨操作父路徑和路徑
	*/
	     public
static void function_1() { File f1 = new File("C:","dell"); System.out.println(f1); } /* * File(File parent,String child) * 傳遞路徑型別:File型別父路徑,字串子路徑 * 特性:父路徑是File型別,父路徑可以直接呼叫File類方法 */ public static void function_2() { File f2_1 = new File("d:"); File f2_2 = new File(f2_1,"eclipse"); System.out.println(f2_2); public static void function_3(){ File f3 = new File("d:\\User"); System.out.println(f3); } }

六,File類檔案功能

1,File建立,刪除功能

案例教學:

			    import java.io.IOException;
				public class FileDemo_2{
					public static viod main(String[] args){
					function_1();
					function_2();
					function_3();
				}
				
			 /*File建立資料夾功能
			  *boolean型別,mkdirs()。
			  *建立的檔案路徑和檔名需要File構造方法提供。
			  *若資料夾已經存在,就不再建立。
		 	  */
			    public static void function_1()throws IOException{
				 
				File1 file1 = new file("E:\\a.txt");
				boolean a = file1.createNewFile();
				System.out.println(a);
			    
				 }
			 
			 /*File建立檔案功能
			  *boolean型別,createNewFile()。
			  *建立的檔案路徑和檔名需要File構造方法提供。
			  *若檔案已經存在,就不再建立。
			  */ 
			     public static void function_2(){
					 
					 File file2 = new File1("E:\\b\\c\\d");
					 boolean b = file2.mkdirs();
					 System.out.println(b);
				 }
			 
			 /*File刪除功能
			  *boolean型別,delete()。
			  *刪除檔案或資料夾需要File構造方法。
			  *刪除方法不經過回收站,直接硬盤裡刪除。
			  */
			     public static void function_3(){
					 
					 File file3 = new File("E:\\a.txt");
					 boolean c = file3.delete();
					 System.out.println(c);
				 }	
			}      

2,file獲取功能

案例教學:

			
			     public class FileDemo_3{
					public static viod main(String[] args){
					
					function_1();
					function_2();
					function_3();
					function_4();
				}	
	 
	                 /*File獲取功能
			  *String型別,getName()。
			  *返回路徑中表示的檔案或者檔名
			  */
				 public static void function_1(){
					 File file1 = new File("e:\\abc.txt");
					 String a = file1.getName();
					 System.out.println(a);
				 }
				 
			 /*File獲取功能
			  *long型別,length()。
			  *返回路徑中表示的檔案的位元組數。
			  */
			    public static void function_2(){
					 
					 File file2 = new File("e:\\abc.txt");
					 long a = file2.length();
					 System.out.println(b);
				 }
				 
				 
			 /*File獲取功能
			  *File型別,getAbsolutePath()
			  *獲取絕對路徑
			  */
			    public static void function_3(){
					 
					 File file3 = new File("e:\\abc");
					 File c = file3.getAbsolutePath();
					 System.out.println(c);
				 }
				
			 /*File獲取功能
			  *File型別,getParentFile()
			  *獲取路徑父目錄
			  */
			     
			    public static void function_4(){
					 
					 File file4 = new File("e:\\abc.txt");
					 File d = file4.geParentFile();
					 System.out.println(d);
					 
				 }
			 
			 /*File獲取功能
			  *String[]陣列,list()。
	                  *獲取File構造方法中封裝的路徑的檔案和檔名(遍歷目錄)
			  */	
			   
			    public static void function_5(){
					 
					 File file5 = new File("e:\\a");
					 String[] e = file5.list();
					 for(String str : e){
						 
						 System.out.println(str);
					 } 
				 } 
				 
				 
			 /*File獲取功能
			  *String[]陣列,listFile()。
			  *獲取File構造方法中封裝的全路徑(遍歷目錄)
			  */
                	    public static void function_6(){
					 
					 File file6 = new File("e:\\a");
					 String[] f = file6.Filelist();
					 for(String g : f){
						 System.out.println(g);
					 }				 
				 } 			  		
      } 

3,file類判斷功能

案例教學:

             
              
          public class FileDemo_4{
	   	  	public static void main(String[] args) {
		 	 function_1();
			 function_2(); 
	 }			  
	 
	        /*File判斷功能
		  *boolean型別,exists()。
		  *判斷File構造方法中封裝路徑是否存在
		  */
		public static viod function_1(){
			 
			File file1  = new File("E:\\abc.txt");
			boolean a = file.exists();
			System.out.println(a);
		}	
	 
	        /*File判斷功能
		  *boolean型別,isDirectary()。
		  *判斷File構造方法中封裝的路徑是否為資料夾
		  */
	 
	    public static viod function_2(){ 
			File file2  = new File("E:\\abc.txt");
			if(file.exists()){
			    boolean b = file.isDirectary();
			    System.out.println(b);}
		}
	}
	 

七,File過濾器

案例教學:

	     
			/*File過濾功能
			 *介面型別,listFiles(FileFilter filter)
			 *遍歷目錄,根據需要只獲取滿足條件的檔案
			 */
			 
			//主類
	     	        import java.io.FileFilter;
			import java.io.File;
			
			//自定義過濾器,實現FileFilter介面,重寫抽象方法
	        public class MyFilter implement File{
			public boolean void accept(File pathname){	
			return true;
		}
	 }
	 
	 
	        //測試類
			
			public class FileDemo{
				public static viod main(String[] args){	
		         File file = new File("E:\\abc");
				 File[] fileArr = file.listFiles(new MyFilter()); 
				for(File f : fileArr){
					System.out.println(f);
				} 
			}	
		}