程序小白---File文件类的使用

程序小白 继续  写博客


今天咱们来讲讲File文件类


一:怎么去创建目录及文件

//构造目录的file
File file = new File("d://lenovo");
    //创建目录
file.mkdir();  只能一次创建一个文件 夹  */  

/*File file2 = new File("d://lenovo//abc");
file2.mkdirs();  // 可同时创建多个文件夹

  createNewFile() 不存在返回true 存在返回false


再观摩一下大神的理解    内容来自:   http://blog.csdn.net/u012964281/article/details/38371795

  1. public class FileDemo {  
  2.      public static void main(String[] args){  
  3.          //构造函数File(String pathname)  
  4.          File f1 =new File("c:\\zuidaima\\1.txt");  
  5.          //File(String parent,String child)  
  6.          File f2 =new File("c:\\zuidaima","2.txt");  
  7.          //File(File parent,String child)  
  8.          File f3 =new File("c:"+File.separator+"abc");//separator 跨平台分隔符  
  9.          File f4 =new File(f3,"3.txt");  
  10.          System.out.println(f1);//c:\zuidaima\1.txt  
  11.      }  
  12.  }


二:如何删除呢?

(1).delete()

(2). deleteOnExit() 文件使用完成后删除

if(file2.exists()){  //首先判断文件是否存在
file2.delete();   //删除最小的子目录  abc

}*/
/*
File file3 = new File("d:/lenovo/abc/log.txt");


再来看看大神的结论吧:http://blog.csdn.net/u012964281/article/details/38371795

  1. import java.io.File;  
  2. import java.io.IOException;  
  3. public class FileDemo2 {  
  4.     public static void main(String[] args){  
  5.         File f =new File("d:\\zuidaima\\1.txt");  
  6.         try {  
  7.             System.out.println(f.createNewFile());//当文件存在时返回false  
  8.             System.out.println(f.delete());//当文件不存在时返回false  
  9.         } catch (IOException e) {  
  10.             // TODO Auto-generated catch block  
  11.             e.printStackTrace();  
  12.         }  
  13.     }  
  14. }  

三:如何打印文件属性

/File file = new File("d:");
/*String[] fileName = file.list();
for(String string : fileName){
System.out.println(string);列出D盘下所以文件的名字
}*/


/*File[] files = file.listFiles(); 
for(File file2:files){
System.out.println(file2); //列出D盘下所有文件的绝对路径
if(file2.isDirectory()){
System.out.println("目录"+file2.getName() +""+"长度为: "+file2.length()+"父目录为:"+file2.getParent());
}else{
System.out.println("文件名"+file2.getName()+" "+"这是文件的长度"+file2.length()+"父目录为:"+file2.getParent());
}
}*/

 


我们还可以尝试递归的方法,反复进行打印,讲整个文件夹的内容都显现出来
File file = new File("C:");
showAll(file);
}


private static void showAll(File file) {
File[] files = file.listFiles();
// TODO Auto-generated method stub
for(File f : files){
if(f.isDirectory()){
System.out.println("目录:"+f.getName());
showAll(f);
}else{
System.out.println("文件"+f.getName());
}
}
}



四:获取和判断

判断方法

1.boolean canExecute()判断文件是否可执行
2.boolean canRead()判断文件是否可读
3.boolean canWrite() 判断文件是否可写
4.boolean exists() 判断文件是否存在
5.boolean isDirectory() 
6.boolean isFile()
7.boolean isHidden()
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)



你可能感兴趣的:(JAVA学习)