【JAVA IO】_File类笔记

来源:互联网 发布:手机淘宝秒杀怎么刷新 编辑:程序博客网 时间:2024/06/06 18:05

【JAVA IO】_File类笔记

分类: Java
【JAVA IO】_File类笔记

本章目标:

掌握File类的作用
可以使用File类中的方法对文件进行操作

File类

在整个io包中,唯一表示与文件有关的类就是File类。使用File类可以进行创建删除文件等常用操作。要想使用File类,则首先要观察File类的构造方法,此类的常用构造方法如下:

public File(String pathname)



实例操作一:创建一个新文件
public boolean createNewFile() throws IOException


[java] view plaincopyprint?
  1. import java.io.File ;  
  2. import java.io.IOException ;  
  3. public class FileDemo01{  
  4.     public static void main(String args[]){  
  5.         File f = new File("d:\\test.txt") ;        // 实例化File类的对象  
  6.         try{  
  7.             f.createNewFile() ;        // 创建文件,根据给定的路径创建  
  8.         }catch(IOException e){  
  9.             e.printStackTrace() ;    // 输出异常信息  
  10.         }  
  11.     }  
  12. };  


分隔符问题:
windows中使用反斜杠:"\"
linux中使用正斜杠:"/"
如果要想让Java程序的可移植性继续保持,则最好根据所在的操作系统来自动使用分隔符。

File.separator;

[java] view plaincopyprint?
  1. import java.io.File ;  
  2. import java.io.IOException ;  
  3. public class FileDemo02{  
  4.     public static void main(String args[]){  
  5.         System.out.println("pathSeparator:" + File.pathSeparator) ;    // 调用静态常量  
  6.         System.out.println("separator:" + File.separator) ;    // 调用静态常量  
  7.     }  
  8. };  



以上程序修改如下:
[java] view plaincopyprint?
  1. import java.io.File ;  
  2. import java.io.IOException ;  
  3. public class FileDemo03{  
  4.     public static void main(String args[]){  
  5.         File f = new File("d:"+File.separator+"test.txt") ;        // 实例化File类的对象  
  6.         try{  
  7.             f.createNewFile() ;        // 创建文件,根据给定的路径创建  
  8.         }catch(IOException e){  
  9.             e.printStackTrace() ;    // 输出异常信息  
  10.         }  
  11.     }  
  12. };  




实例操作二:删除一个指定的文件
public booleadn delete()


[java] view plaincopyprint?
  1. import java.io.File ;  
  2. import java.io.IOException ;  
  3. public class FileDemo04{  
  4.     public static void main(String args[]){  
  5.         File f = new File("d:"+File.separator+"test.txt") ;        // 实例化File类的对象  
  6.         f.delete() ;    // 删除文件  
  7.     }  
  8. };  



在File类中可以使用exists()方法判断一个文件是否存在:
public boolean exists()

使用exists()方法后修改代码如下:

[java] view plaincopyprint?
  1. import java.io.File ;  
  2. import java.io.IOException ;  
  3. public class FileDemo05{  
  4.     public static void main(String args[]){  
  5.         File f = new File("d:"+File.separator+"test.txt") ;        // 实例化File类的对象  
  6.         if(f.exists()){    // 如果文件存在则删除  
  7.             f.delete() ;    // 删除文件  
  8.         }  
  9.     }  
  10. };  




实例操作三:综合创建、删除文件的操作

[java] view plaincopyprint?
  1. import java.io.File ;  
  2. import java.io.IOException ;  
  3. public class FileDemo06{  
  4.     public static void main(String args[]){  
  5.         File f = new File("d:"+File.separator+"test.txt") ;        // 实例化File类的对象  
  6.         if(f.exists()){    // 如果文件存在则删除  
  7.             f.delete() ;    // 删除文件  
  8.         }else{  
  9.             try{  
  10.                 f.createNewFile() ;        // 创建文件,根据给定的路径创建  
  11.             }catch(IOException e){  
  12.                 e.printStackTrace() ;    // 输出异常信息  
  13.             }  
  14.         }  
  15.     }  
  16. };  



实例操作四:创建一个文件夹
public boolean mkdir()

[java] view plaincopyprint?
  1. import java.io.File ;  
  2. import java.io.IOException ;  
  3. public class FileDemo07{  
  4.     public static void main(String args[]){  
  5.         File f = new File("d:"+File.separator+"mldn") ;        // 实例化File类的对象  
  6.         f.mkdir() ;    // 创建文件夹  
  7.     }  
  8. };  



实例操作五:列出指定目录的全部文件
public String[] list()
以File数组的形式返回:public File() listFiles()

操作一:

[java] view plaincopyprint?
  1. import java.io.File ;  
  2. import java.io.IOException ;  
  3. public class FileDemo08{  
  4.     public static void main(String args[]){  
  5.         File f = new File("d:"+File.separator) ;        // 实例化File类的对象  
  6.         String str[] = f.list() ;    // 列出给定目录中的内容  
  7.         for(int i=0;i<str.length;i++){  
  8.             System.out.println(str[i]) ;  
  9.         }  
  10.     }  
  11. };  



操作二:

[java] view plaincopyprint?
  1. import java.io.File ;  
  2. import java.io.IOException ;  
  3. public class FileDemo09{  
  4.     public static void main(String args[]){  
  5.         File f = new File("d:"+File.separator) ;        // 实例化File类的对象  
  6.         File files[] = f.listFiles() ;    // 列出全部内容  
  7.         for(int i=0;i<files.length;i++){  
  8.             System.out.println(files[i]) ;  
  9.         }  
  10.     }  
  11. };  



实例操作六:判断一个给定的路径是否是目录
public boolean isDirectory()

[java] view plaincopyprint?
  1. import java.io.File ;  
  2. import java.io.IOException ;  
  3. public class FileDemo10{  
  4.     public static void main(String args[]){  
  5.         File f = new File("d:"+File.separator) ;        // 实例化File类的对象  
  6.         if(f.isDirectory()){    // 判断是否是目录  
  7.             System.out.println(f.getPath() + "路径是目录。") ;  
  8.         }else{  
  9.             System.out.println(f.getPath() + "路径不是目录。") ;  
  10.         }  
  11.     }  
  12. };  



实例操作七:列出指定目录的全部内容

[java] view plaincopyprint?
  1. import java.io.File ;  
  2. import java.io.IOException ;  
  3. public class FileDemo11{  
  4.     public static void main(String args[]){  
  5.         File my = new File("d:" + File.separator) ;    // 操作路径  
  6.         print(my) ;  
  7.     }  
  8.     public static void print(File file){    // 递归调用  
  9.         if(file!=null){    // 判断对象是否为空  
  10.             if(file.isDirectory()){    // 如果是目录  
  11.                 File f[] = file.listFiles() ;    // 列出全部的文件  
  12.                 if(f!=null){    // 判断此目录能否列出  
  13.                     for(int i=0;i<f.length;i++){  
  14.                         print(f[i]) ;    // 因为给的路径有可能是目录,所以,继续判断  
  15.                     }  
  16.                 }  
  17.             }else{  
  18.                 System.out.println(file) ;    // 输出路径  
  19.             }  
  20.         }  
  21.     }  
  22. };  
0 0
原创粉丝点击