二、File類中的主要方法和常量| No. | 方法或常量 | 類型 | 描述 |
| 1 | public static final String pathSeparator | 常量 | 表示路徑的分隔符(windows是:“;”) |
| 2 | public static final String separator | 常量 | 表示路徑的分隔符(windows是:“/”) |
| 3 | public File(String pathname) | 構造 | 創建File類對象,傳入完整路徑 |
| 4 | public boolean createNewFile() throws IOException | 普通 | 創建新文件 |
| 5 | public boolean delete() | 普通 | 刪除文件 |
| 6 | public boolean exists() | 普通 | 判斷文件是否存在 |
| 7 | public boolean isDirectory() | 普通 | 判斷給定的路徑是否是一個目錄 |
| 8 | public long length() | 普通 | 返回文件的大小 |
| 9 | public String[] list() | 普通 | 列出指定目錄的全部內容,只是列出了名稱 |
| 10 | public File[] listFiles() | 普通 | 列出指定目錄的全部內容,會列出路徑 |
| 11 | public boolean mkdir() | 普通 | 創建一個目錄 |
| 12 | public boolean renameTo(File dest) | 普通 | 為已有的文件重新命名 |


package com.pb.file.demo1;import java.io.File;import java.io.IOException;public class FileDemo1 { public static void main(String[] args) { File file=new File("d:/test.txt"); //聲明一個文件對象 try { boolean flag=file.createNewFile(); //根據路徑創建文件返回類型為Boolean類型 if(flag){ System.out.3.2 在不同的操作系統中,路徑的分隔符表示是不一樣的windows中使用反斜桿表示目錄的分隔符:“/” ;linux中使用正斜桿表示目錄的分隔符:“/”。package com.pb.file.demo1;import java.io.File;public class FileDemo2 { public static void main(String[] args) { System.out.println(File.pathSeparator); // 調用靜態常量 System.out.println(File.separator); // 調用靜態常量 }}結果:
;/
3.3、修改創建文件的代碼使用靜態常量連接
package com.pb.file.demo1;import java.io.File;import java.io.IOException;public class FileDemo1 { public static void main(String[] args) { String path="d:"+File.separator+"test1.txt"; File file=new File(path); //聲明一個文件對象 try { boolean flag=file.createNewFile(); //根據路徑創建文件返回類型為Boolean類型 if(flag){ System.out.println("文件創建成功"); }else{ System.out.println("文件創建失敗"); } } catch (IOException e) { e.printStackTrace(); } }}四、刪除文件4.1、不判斷文件是否存在直接刪除package com.pb.file.demo1;import java.io.File;import java.io.IOException;public class FileDemo3 { public static void main(String[] args) { String path="d:"+File.separator+"test.txt"; File file=new File(path); //聲明一個文件對象 boolean flag=file.delete(); //根據路徑刪除文件返回類型為Boolean類型 if(flag){ System.out.println("文件刪除成功"); }else{ System.out.println("文件刪除失敗"); } }}4.2、判斷文件是否存在再執行刪除package com.pb.file.demo1;import java.io.File;import java.io.IOException;public class FileDemo3 { public static void main(String[] args) { String path = "d:" + File.separator + "test.txt"; File file = new File(path); // 聲明一個文件對象 if (file.exists()) { boolean flag = file.delete(); // 根據路徑刪除文件返回類型為Boolean類型 if (flag) { System.out.println("文件刪除成功"); } else { System.out.println("文件刪除失敗"); } } else { System.out.println("文件不存在!"); } }}4.3、結合上面2個例子實現創建與刪除package com.pb.file.demo1;import java.io.File;import java.io.IOException;public class FileDemo4 { public static void main(String[] args) { String path = "d:" + File.separator + "test.txt"; File file = new File(path); // 聲明一個文件對象 if(file.exists()){ //判斷文件是否存在如果存在就刪除 file.delete(); System.out.println("文件存在,刪除成功!"); }else{//判斷文件是否存在如果不存在就創建 try { file.createNewFile(); System.out.println("文件不存在,創建成功!"); } catch (IOException e) { e.printStackTrace(); } } }}五、創建文件夾5.1、創建一個文件夾mkdirpackage com.pb.file.demo1;import java.io.File;import java.io.IOException;public class FileDemo5 { public static void main(String[] args) { String path = "d:" + File.separator + "test"; File file = new File(path); // 聲明一個文件對象 if(!file.exists()){ boolean flag=file.mkdir(); //創建文件夾 if(flag){ System.out.println("文件夾創建成功"); } }else{ System.out.println("已經存在這個名稱的文件夾!"); } }}5.2、創建一個多層文件夾mkdirspackage com.pb.file.demo1;import java.io.File;import java.io.IOException;public class FileDemo5 { public static void main(String[] args) { String path = "d:" + File.separator + "test"+ File.separator + "test1"+ File.separator + "test2"; File file = new File(path); // 聲明一個文件對象 if(!file.exists()){ boolean flag=file.mkdirs(); //創建文件夾 if(flag){ System.out.println("文件夾創建成功"); } }else{ System.out.println("已經存在這個名稱的文件夾!"); } }}5.3、列出目錄下的全部內容package com.pb.file.demo1;import java.io.File;import java.io.IOException;public class FileDemo6 { public static void main(String[] args) { String path = "f:" + File.separator ; File file = new File(path); // 聲明一個文件對象 System.out.println("============只列出文件夾和文件的名稱==============="); String [] str=file.list();//列出目錄中的全部內容文件夾和文件 //此方法只列出文件夾和文件的名稱 for (int i = 0; i < str.length; i++) { System.out.println(str[i].toString()); } System.out.println("==============列出路徑、文件夾和文件的名稱================="); File[] file1=file.listFiles(); //列出目錄中的全部內容文件夾和文件 //此方法會列出路徑、文件夾和文件的名稱 for (int i = 0; i < file1.length; i++) { System.out.println(file1[i].toString()); } }}結果:
============只列出文件夾和文件的名稱===============$RECYCLE.BINdownloadeclipse-keplerhtmljavajava webJavascriptjavastudyjqueryjsjspjsptestlinuxOracleoracle學習筆記shopSystem Volume Informationttoolsvm軟件==============列出路徑、文件夾和文件的名稱=================f:/$RECYCLE.BINf:/downloadf:/eclipse-keplerf:/htmlf:/javaf:/java webf:/javascriptf:/javastudyf:/jqueryf:/jsf:/jspf:/jsptestf:/linuxf:/ORACLEf:/oracle學習筆記f:/shopf:/System Volume Informationf:/tf:/toolsf:/vmf:/軟件
5.3、增加判斷是文件還是目錄先判斷給出一是不是目錄
package com.pb.file.demo1;import java.io.File;import java.io.IOException;public class FileDemo7 { public static void main(String[] args) { String path = "g:" + File.separator ; File file = new File(path); // 聲明一個文件對象 if(file.isDirectory()){ System.out.println(file.getPath()+"是目錄!"); } if(file.isFile()){ System.out.println(file.getPath()+"是文件!"); } }}package com.pb.file.demo1;import java.io.File;import java.io.IOException;public class FileDemo7 { public void print(File file){ if(file.exists()){ //判斷給定的目錄或者文件是否存在 System.out.println("=============路徑存在========="); if(file.isDirectory()){ System.out.println(file.getPath()+"是目錄! 將會列出目錄下的所有文件!=============="); File [] f=file.listFiles(); //是目錄就列出目錄下的所有內容 for (int i = 0; i < f.length; i++) { if(f[i].isDirectory()){ System.out.println(f[i]+"/t是目錄!"); }else{ System.out.println(f[i]+"/t是文件!"); } } }else{ //不是目錄就打印路徑信息 System.out.println(file+"/t是文件!"); } }else{ System.out.println(file+"=============路徑不存在!============="); } } public static void main(String[] args) { String path = "g:" + File.separator ; File file = new File(path); // 聲明一個文件對象 FileDemo7 fd=new FileDemo7(); fd.print(file); }}結果:
=============路徑存在=========g:/是目錄! 將會列出目錄下的所有文件!==============g:/$RECYCLE.BIN 是目錄!g:/Adobe Dreamweaver CS5 是目錄!g:/Adobe Dreamweaver CS5.rar 是文件!g:/atm 是目錄!g:/atm.rar 是文件!g:/eclipse 是目錄!g:/eclipse-kepler 是目錄!g:/html 是目錄!g:/java 是目錄!g:/jsp 是目錄!g:/orcale 是目錄!g:/SqlHistory.xml 是文件!g:/System Volume Information 是目錄!g:/~1 是目錄!g:/書 是目錄!g:/停止..bat 是文件!g:/啟動.bat 是文件!g:/源 是目錄!g:/第三方控件 是目錄!
六、其它的一些方法package com.pb.file.demo1;import java.io.File;import java.io.IOException;import java.text.SimpleDateFormat;import java.util.Date;/* * 文件操作的一些方法 */public class FileMethods { public static void main(String[] args) throws IOException { //實例化File類對象 File f=new File("d:"+File.separator+"test"+File.separator+"hello.txt"); //文件文件屬性 System.out.println("文件名:"+f.getName()); //相對路徑 System.out.println("相對路徑:"+f.getParent()); //絕對路徑 System.out.println("絕對路徑:"+f.getAbsolutePath()); //獲取文件的父級目錄,上一級目錄 System.out.println("上一級目錄"+f.getParent()); //當前文件是否存在 System.out.println(f.exists()?"文件存在":"文件不存在"); //是不是個文件 System.out.println(f.isFile()?"是文件":"不是文件"); //文件長度 System.out.println("文件長度:"+f.length()); //是不是個文件 System.out.println(f.isDirectory()?"是文件夾":"不是文件夾"); //是否可以 讀 System.out.println(f.canRead()?"文件可讀":"文件不可讀"); //是否可以寫 System.out.println(f.canRead()?"文件可寫":"文件不可寫"); //最后一次修改的時間 SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date=new Date(f.lastModified()); System.out.println("最后修改的時間:"+sdf.format(date)); //新建 if(!f.exists()){ //如果文件不存在就創建 f.createNewFile(); System.out.println("創建文件"); }else{ //如果存在就刪除 f.delete(); System.out.println("刪除文件"); } }}
新聞熱點
疑難解答