• <nav id="wkkge"><strong id="wkkge"></strong></nav>
  • <menu id="wkkge"></menu>
  • Java面向對象
    Java異常
    Java數組
    Java常用類
    Java集合
    Java IO流
    Java線程
    Java反射
    Socket編程
    Java注解開發
    Java GoF設計模式
    HashMap
    Java內存模型
    Java線性表

    File類常用操作

     

     

    boolean:createNewFile() 創建一個新的文件

     

    boolean:delete() 刪除File對象

     

    boolean:exists() 判斷當前File對象是否存在

     

    File:getAbsoluteFile() 返回File對象的絕對路徑形式

     

    String:getAbsolutePath()返回File對象的絕對路徑

     

    long:getFreeSpace() 返回指定盤符空閑空間的大小

     

    String:getName() 返回File對象的名稱

     

    String:getParent() 返回上一級目錄

     

    File:getParentFile()返回上一級目錄

     

    String:getPath() 返回路徑

     

    long:getTotalSpace() 返回指定盤符總的大小

     

    long:getUsableSpace()返回指定盤符可用空間的大小

     

    boolean:isAbsolute() 判斷是否為絕對路徑

     

    boolean:isDirectory() 判斷是否為文件夾

     

    boolean:isFile() 判斷是否為文件

     

    boolean:isHidden() 判斷是否為隱藏

     

    long:lastModified() 最后一次修改的時間,是從1970-1-1 00:00:00經過的毫秒數

     

    long:length() 文件長度

     

    String[]:list() 列出文件夾中的內容

     

    String[]:list(FilenameFilter filter) 列出文件夾中的內容,指定文件過濾器

     

    File[]:listFiles()列出文件夾中的內容

     

    File[]:listFiles(FileFilter filter) 列出文件夾中的內容

     

    File[]:listFiles(FilenameFilter filter) 列出文件夾中的內容

     

    staticFile[]:listRoots() 列出根目錄

     

    boolean:mkdir() 創建文件夾.如果上一級目錄不存在,則文件夾創建失敗

     

    boolean:mkdirs()創建文件夾. 如果上一級目錄不存在,先創建上一級目錄,再創建當前文件夾

     

    boolean:renameTo(File dest) 重命名,如果dest對象和當前File對象不在同一個目錄中,相當于文件移動

     

    Path:toPath()

     

    String:toString()

     

    URI:toURI()

     

    package com.wkcto.chapter06.file;
    
    import java.io.File;
    import java.io.IOException;
    import java.util.Date;
    
    /**
     * 演示文件的相關屬性
     * @author 蛙課網
     *
     */
    public class Test03 {
    
    	public static void main(String[] args) throws IOException {
    //		File f1 = new File("D:\\JavaSE\\video\\5-24 Map集合概述.avi");  		//絕對路徑 
    		File f1 = new File("hehe.txt");			//相對路徑 
    		f1.createNewFile();
    		
    		System.out.println( f1.getAbsolutePath() );
    		System.out.println( f1.getPath());
    		System.out.println( f1.getParent());
    		System.out.println( f1.getName());
    		System.out.println( f1.isDirectory());
    		System.out.println( f1.isFile());
    		System.out.println( f1.length());
    		System.out.println( f1.lastModified());
    		System.out.println( new Date(f1.lastModified()));
    	}
    
    }

     

    package com.wkcto.chapter06.file;
    
    import java.io.File;
    import java.io.FilenameFilter;
    
    /**
     * 演示文件夾的相關操作
     * @author 蛙課網
     *
     */
    public class Test04 {
    
    	public static void main(String[] args) {
    		String folder = "d:/java1"	;
    		
    		//顯示指定文件夾的內容
    		listsubDir( folder );  
    	}
    
    	//顯示指定文件夾的內容, 只顯示.txt文本文件
    	private static void listsubDir(String folder) {		
    		File  dir = new File(folder);
    		//列出指定文件夾的內容
    		File[] listFiles = dir.listFiles(new FilenameFilter() {
    			//在匿名內部類對象中重寫抽象方法
    			@Override
    			public boolean accept(File dir, String name) {
    				return name.endsWith(".txt") || name.endsWith(".java");
    			}
    		}) ;
    
    		for (File file : listFiles) {
    			System.out.println( file.getAbsolutePath() );
    		}	
    	}
    	//顯示指定文件夾的內容
    	private static void listsubDir2(String folder) {		
    		File  dir = new File(folder);
    		//列出指定文件夾的內容
    		File[] listFiles = dir.listFiles();
    		for (File file : listFiles) {
    			System.out.println( file.getAbsolutePath() );
    		}	
    	}
    	//顯示指定文件夾的內容
    	private static void listsubDir1(String folder) {		
    		File  dir = new File(folder);
    		//列出指定文件夾的內容
    		String[] subdirs = dir.list();
    		for (String string : subdirs) {
    			System.out.println( string );
    		}
    	}
    
    }

     

    package com.wkcto.chapter06.file;
    
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    /**
     * 演示文件夾操作的遞歸調用
     * @author 蛙課網
     *
     */
    public class Test05 {
    
    	public static void main(String[] args) {
    		String folder = "d:/java1";
    
    		// 顯示指定文件夾的內容
    //		listsubDir(folder);
    		
    		//文件夾的復制
    		copyDir( folder , "d:/java22");
    	}
    
    	//創建方法, 把srcfolder文件夾的內容復制到destFolder文件夾中, 包括子文件夾的內容
    	private static void copyDir(String srcFolder, String destFolder) {
    		//判斷目標文件夾是否存在,如果不目標文件夾不存在,需要創建一個新的文件夾
    		File dest = new File(destFolder);
    		if ( !dest.exists() ) {
    			dest.mkdirs();
    		}
    		//遍歷srcFolder源文件夾的內容, 復制到destFolder目錄中
    		File src = new File(srcFolder);
    		File[] listFiles = src.listFiles();
    		for (File file : listFiles) {
    			if (file.isFile()) {
    //				直接復制文件 , 需要先構建目標文件
    				File destFile = new File(destFolder, file.getName());
    				copyFile( file, destFile); 		//復制文件
    			}else{
    				//file是文件夾, 先在destFolder文件夾下創建一個與file同名的文件夾
    				File destSubDir = new File(destFolder, file.getName() );
    //				destSubDir.mkdir();
    				
    				//再把file文件夾的內容復制到destFoler/file目錄下
    				copyDir(file.getAbsolutePath(), destSubDir.getAbsolutePath());
    			}
    		}
    		
    	}
    	
    	//文件復制
    	private static void copyFile(File srcfile, File destFile) {
    		try(
    				FileInputStream fis = new FileInputStream(srcfile);
    				FileOutputStream fos = new FileOutputStream(destFile);
    				) {
    			byte [] bytes = new byte[1024];
    			int len = fis.read(bytes);
    			while ( len != -1){
    				fos.write(bytes, 0, len);
    				 len = fis.read(bytes);
    			}
    			
    		} catch (Exception e) {
    			// TODO: handle exception
    		}
    	}
    
    	// 顯示指定文件夾的內容, 包括子文件夾的內容
    	private static void listsubDir(String folder) {
    		File dir = new File(folder);
    		// 列出指定文件夾的內容
    		File[] listFiles = dir.listFiles();
    		for (File file : listFiles) {
    			System.out.println(file.getAbsolutePath());
    			//判斷file對象如果是文件夾, 把file子文件夾的內容也顯示出來
    			if (file.isDirectory() ) {
    				listsubDir( file.getAbsolutePath() );  		//遞歸調用
    			}
    		}
    	}
    
    }

     

     

    總結:

     

    必須掌握FileInputStrea/FileOutputStream字節流實現文件的讀寫

     

    掌握FileReader/FileWriter字符流實現文件的讀寫

     

    理解對象序列化與反序列化

    全部教程
  • <nav id="wkkge"><strong id="wkkge"></strong></nav>
  • <menu id="wkkge"></menu>
  • 面对面棋牌游戏