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);
				} 
			}	
		}

猜你喜欢

转载自blog.csdn.net/qq_42873753/article/details/84197946