Java File類的功能非常強大,利用java基本上可以對文件進行所有操作。文本將對Java File 文件操作的類詳細的分析,並將File類中的常用方法進行簡單介紹。
構造函數
public class FileDemo { public static void main(String[] args) { //構造函數File(String pathname) File f1 = new File("D:\\a\\1.txt"); //File(String parent,String child) File f2 = new File("D:\\a", "2.txt"); //File(File parent,String child) File f3 = new File("D:"+File.separator+"a"); File f4 = new File(f3,"3.txt"); System.out.println(f1); } }
創建方法
1 boolean createNewFile() 不存在就返回true;存在返回false 2 boolean mkdir() 創建目錄 3 boolean mkdirs() 創建多級目錄
刪除方法
1 boolean delete()
2 boolean deleteOnExit()文件使用后刪除
public class FileDemo { public static void main(String[] args) { File f = new File("D:\\1.txt"); try { System.out.println(f.createNewFile()); System.out.println(f.delete()); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
判斷方法
1 boolean canExecute() 判斷文件是否可以執行
2 boolean canRead() 判斷文件是否可讀
3 boolean canWrite() 判斷文件是否可寫
4 boolean exist() 判斷文件是否存在
5 boolean isDirectory() 判斷文件是目錄
6 boolean isFile() 判斷是否是文件
7 boolean canHidden() 判斷文件是否可見
8 boolean isAbsolute() 判斷文件是否是絕對路勁 ,文件不存在也能判斷
獲取方法
1.String getName()
2.String getPath()
3.String getAbsolutePath()
4.String getParent()//如果沒有父目錄返回null
5.long lastModified()//獲取最后一次修改的時間
6.long length()
7.boolean renameTo(File f)
8.File[] liseRoots()//獲取機器盤符
9.String[] list()
10.String[] list(FilenameFilter filter)
列出磁盤下的文件和文件夾
public class FileDemo3 { public static void main(String[] args){ File[] files =File.listRoots(); for(File file:files){ System.out.println(file); if(file.length()>0){ String[] filenames =file.list(); for(String filename:filenames){ System.out.println(filename); } } } } }
文件過濾
public class FileDemo4 { public static void main(String[] args){ File[] files =File.listRoots(); for(File file:files){ System.out.println(file); if(file.length()>0){ String[] filenames =file.list(new FilenameFilter(){ //file 過濾目錄 name 文件名 public boolean accept(File file,String filename){ return filename.endsWith(".mp3"); } }); for(String filename:filenames){ System.out.println(filename); } } } } }
利用遞歸列出所有文件
public class FileDemo5 { public static void main(String[] args){ File f =new File("e:\\音樂"); showDir(f); } public static void showDir(File dir){ System.out.println(dir); File[] files =dir.listFiles(); for(File file:files){ if(file.isDirectory()) showDir(file); else System.out.println(file); } } }
移動文件
public class Test5 { public static void main(String[] args){ File f1 = new File("d:\\"); moveFile(f1); } public static void moveFile(File dir){ File[] files=dir.listFiles(); for(File file:files){ if(file.isDirectory()) moveFile(file); else{ if(file.getName().endsWith(".java")) file.renameTo(new File("c:\\jad\\"+ file.getName().substring(0,file.getName().lastIndexOf('.'))+".jad")); } } } }