標籤:輸出資料流 throw lin for 電腦 輸出 void java 9.png
file類 的作用
1.用於將檔案或者檔案夾封裝成對象
2.方便對檔案與檔案夾進行操作
3.方便輸入輸出資料流的檔案傳輸
一、建立檔案對象,將已有的和未出現的檔案或者檔案夾封裝成對象。
這四種方法都將C盤下的1.Java檔案封裝成對象。
二、file對象的判斷
可以new file 可以建立已有的檔案對象,也可以建立未存在的檔案對象,那怎麼去判斷到底存不存在呢?
package com.neuedu.demo01;import java.io.File;/* * 檔案類的使用 */public class fileDemo { public static void main(String[] args) { File f1=new File("E:\\learnJava\\hello.txt"); System.out.println(f1.exists());//判斷檔案或目錄是否存在 System.out.println(f1.isDirectory());//判斷檔案對象表示的是否是一個目錄 System.out.println(f1.isFile());//判斷檔案對象表示的是否是一個檔案 System.out.println(f1.isAbsolute());//判斷檔案對象是否是一個絕對路徑 System.out.println(f1.isHidden());//判斷檔案對象是否是隱藏檔案 }}三、檔案的建立和刪除
file類提供了一些方法,能夠在電腦上常見和刪除檔案或者目錄
package com.neuedu.demo01;import java.io.File;import java.io.IOException;/* * 檔案類的使用 * */public class fileDemo { public static void main(String[] args) { File f1=new File("E:\\learnJava\\hello.txt");//一個檔案 File f2=new File("E:\\learnJava\\hello");//一個目錄 if (f1.exists()) {//檔案檔案已經存在 f1.delete(); //則將已經存在的檔案刪除 }else { try { f1.createNewFile(); //如果不存在,則建立出來 } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } if (!f2.exists()) {//如果目錄不存在 f2.mkdir(); //建立目錄 f2.mkdirs(); 建立多級目錄 }else { f2.delete(); } }}四、File相關get方法
package com.neuedu.demo01;import java.io.File;import java.io.IOException;/* * 檔案類的使用 * */public class fileDemo { public static void main(String[] args) { File f1=new File("E:\\learnJava\\hello.txt");//一個檔案 File f2=new File("E:\\learnJava\\hello");//一個目錄 System.out.println(f1.getAbsolutePath());//擷取檔案對象的絕對路徑,返回的是File對象----E:\learnJava\hello.txt System.out.println(f1.getAbsoluteFile());//擷取檔案對象的絕對路徑,返回的是string-----E:\learnJava\hello.txt System.out.println(f1.getName());//擷取檔案對象的檔案名稱或者是目錄名----hello.txt System.out.println(f1.getParent());//擷取檔案對象的父目錄,返回的是string----E:\learnJava System.out.println(f1.getParentFile());//擷取檔案對象的父目錄檔案對象,返回的是File對象----E:\learnJava try { System.out.println(f1.getCanonicalPath()); //擷取檔案對象的規範路徑名----E:\learnJava\hello.txt System.out.println(f1.getAbsoluteFile()); //擷取檔案對象的規範路徑形式,返回file對象----E:\learnJava\hello.txt } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println(f1.getPath()); ///擷取檔案路徑E:\learnJava\hello.txt }}五、遞迴檔案目錄
通過list()返迴文件目錄中的檔案和目錄,返回的是字串
通過listFile()返迴文件目錄中的檔案和目錄,返回的是檔案對象
package com.neuedu.FileUtils;import java.io.File;import java.io.IOException;/** * * @author wzc * 列出File的一些常用操作 */public class FileUtils { /** * 列出指定目錄下及子目錄下的所有檔案 * @param dir * @throws IOException */ public static void listDirectory(File dir)throws IOException{ //判斷目錄是否存在 if (!dir.exists()) { throw new IllegalArgumentException("目錄"+dir+"不存在"); } //判斷File dir是否是目錄 if (!dir.isDirectory()) { throw new IllegalArgumentException(dir+"不是目錄"); } /*String[] list = dir.list(); //列出檔案中的檔案或者目錄,不包括子目錄下的 for (String string : list) { System.out.println(string); }*/ //如果需要遍曆子目錄下的內容就需要構造成對象,繼續遞迴s File[] files = dir.listFiles();//返回直接子目錄對象 /*for (File file2 : files) { System.out.println(file); }*/ if (files!=null && files.length>0) { for (File file : files) { if (file.isDirectory()) {//如果子檔案是目錄 //遞迴 listDirectory(file); }else{ System.out.println(file);//如果是檔案則輸出 } } } }}
Java 檔案(File)類